Самые продвинутые эмуляторы сервера world of warcraft на сегодняшний день – это mangos и trinitycore. Так уж сложилось, что эти проекты используют лицензию свободного ПО и позиционируются как обучающие в области reverse engineering.
Для конечного пользователя это значит, что никакой вразумительной технической поддержки разработчики не оказывают, но действуют по принципу сообщества – вступай, общайся и, проще говоря, решай свои проблемы сам.
Сегодня поговорим о проблеме выбора OS для эмулятора wow и настройке некоторых интересных параметров этой операционки.
Собственно говоря, проблемы выбора, как таковой, не существует. Тут работает следующее правило:
Первые несколько месяцев wowz.core работал на базе win. server’2008 – ничего хорошего не вышло. Достигнув знакового онлайна в 400 ппл, сервер начал жутко тормозить, делая игру невозможной. После перехода на linux платформу все стало и остается более или менее ровным, однако, по ходу работы всплывали небольшие подводные камни, требовавшие определенного твикинга Ubuntu и сервисов. Собственно, об этих подводных камнях и поговорим.
Проблема лимита в 1000 игроков.
На некоторых платформах использование флага “-DFD_SETSIZE=4096″ при компиляции эмулятора не помогает убрать лимит в 1000 одновременных подключений к серверу. Проблема решается довольно просто: редактируем /etc/security/limits.conf
# бла бла бла тут комментарии и примеры конфига
# нам надо дописать 1 строку для пользователя
# под которым запускается эмуляторuser hard nofiles 4096 // где ‘user’ имя пользователя
# End of file
И перед запуском сервера, на всякий случай, прописываем в консоли: ulimit -n4096
Проверить – действует лимит или нет можно по логам запуска сервера. Если все нормально – сервер выдаст строку:
Max allowed socket connections 4096
Твикинг mysql

Прежде всего. Mysql сервер должен корректно работать с движками MyISAM и InnoDB. Последний умеет работать с непрерывными транзакциями, что позволяет не терять данные из БД при внезапном отрубе сервера/эмулятора (именно его надо выставить движком по-умолчанию). Теоретически, только что установленная служба mysql по-умолчанию поддерживает оба движка, но, на практике, часто возникают ошибки при запуске InnoDB. Следите за логами!
После установки службы mysql на выбор предлагаются несколько вариантов конфигурационного файла (my.ini или my.cnf) – из них выбирать не стоит вообще или можно оставить “средний” конфиг, предлагаемый по умолчанию, если не планируете серьезно нагружать машину.
Что касается некоторых важных кастом параметров для файла- их не так много и ниже я постараюсь обозначить основные.
net_buffer_length = 1024K //эта группа буферов увеличена относит-но дефолтных параметров
join_buffer_size = 2M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 2M
table_cache = 500
max_allowed_packet = 4Mmax_connections=600 // не влияет на макс. кол-во игроков, но на кол-во подкл-й мускул пользователей
max_user_connections=750 // тоже самое, что и предыдущее. не задирайте слишком сильно значения.key_buffer = 256M //эта группа буферов значительно влияет на производ-ть
key_buffer_size = 256M
thread_cache = 256M
thread_concurrency = 8 //требует доп. изучения, но на этом значении работает отлично
thread_cache_size = 1024
thread_stack = 128Kinnodb_buffer_pool_size=1800M //зависит от размера БД персонажей. не ставьте много для маленькой базы
innodb_additional_mem_pool_size=50M
innodb_log_file_size=5M
innodb_log_buffer_size=4M
innodb_thread_concurrency=8 // с этим параметром можно поэкспериментировать
innodb_table_locks=0
И пример нашего конфига (шапочка с системными путями вырезана)
Enjoy. Пишите коменты, делитесь опытом.
getmangos.com – англоязычное комьюнити разработчиков mangos
trinitycore.com – англоязычное комьюнити разработчиков trinitycore
Популярность: не вычислено
[...] типсов для сборки бинарников тринити под windows (но мы-то помним какая ОС лучше), а также готовые бинарники дял выбирания [...]
Like or Dislike:
0
0
Если Вам нравится этот блог - подпишитесь на RSS ленту. Это даст Вам преимущество - получать все интересные и свежие обновления раньше других.
Если не секрет, дорого обошлось создание блога? Тоже хочется попробовать вести своё что-нибудь.
Like or Dislike:
2
0
И всё-таки, хотелось бы узнать, 2.4.3 строится на мангосе? или это собственная сборка?
Like or Dislike:
1
0
изначально сборка строилась на trinity
сейчас уже многое переделано. так что скорее это можно назвать своей сборкой.
особенно в части скриптов.
Like or Dislike:
2
0
Если не ошибаюсь тринити является “продуктом” мангоса, а они запрещены к использованию на серверах с открытой регистрацией, как был урегулирован данный вопрос=)? или всё списывается на “фан”?
Like or Dislike:
2
0
Мангос тут не при чем вообще. У тринити свой копирайт и свои условия распространения.
Другой вопрос, что продукт, представляющий собой клиент-серверное приложение надо где-то тестировать для его развития.
Вот тестированием мы и занимаемся.
Like or Dislike:
2
1
Тест нужен всегда, но года полтора назад сервер работал стабильнее чем сечас и появилось множество интересных багов, в часности с физикой.
Like or Dislike:
1
1
Полтора года назад на сервере не было такого онлайна и работало ~75% от кол-ва скриптов, сейчас крутящихся на сервере
Like or Dislike:
3
0
С этим можо только поздравить=). Но может выложить в сетку(с ограниченным доступом хотябы)рабочие базы скрптов или их багнутые части, для доработки рядовыми игроками? интересно было бы покопаться, да и мало ли свелых умов ползает в сети не с целью “сломать”. хотя их очень мало но всётаки…
Like or Dislike:
3
0
Каюсь, ошибся тринити основан на коде мангоса но от него не зависит.
Like or Dislike:
1
2
Hidden due to low comment rating. Click here to see.
Poorly-rated. Like or Dislike:
1
6
ээ
линканите меня, пожалуйста, на то место, где я назвал себя сверх талантливым разработчиком “нового двига”.
мы делаем все, что можем. этого не всегда хватает, я признаю.
Like or Dislike:
2
0
Единственное к чему я призваю – это разобраться с постоянными вылетами вместо открытия новых серверов или перехода на ещё более совершенный патч итп, на остальное не обращайте внимания
Like or Dislike:
2
0
Основная работа по отладке стабильности на ЛИМБО будет происходить после выхода последнего оф. патча на ретейл сервере. Так было и будет всегда.
Like or Dislike:
2
0
Хотелось узнать что-то новое! Желаю удачи но не прощаюсь… А вот за решение проблемы по онлайну зарание спасибо надеюсь сработает!
Like or Dislike:
2
0
Sharka, Тринити основан на мангосе, и конкретно зависит от него, потому что все коммиты которые делают на мангосе – переносят в тринити и добавляют свои хаки для играбельности. Если не веришь, погляди багтрекер и комитник Тринити, и ты увидишь что основное количество исправлений берут из Мангоса, а коммиты ети делает Владимир и все остальные – главные кураторы проекта Мангос.
Like or Dislike:
1
0
вэлкам
удачи вашему проекту )
Like or Dislike:
1
0
Вы ошибаетесь.
Тринити был основан как ветка мангоса и долгое время, действительно, почти все коммиты мангоса были передаланы под тринити.
Сейчас это происходит крайне редко.
Пожалуй, единственное, что осталось “условно” общего с мангосом – это использование sd2 скриптов.
Like or Dislike:
2
0
Спасибо, за то, что объяснение некторых цифр
Like or Dislike:
1
0
trinity.org *
Like or Dislike:
0
0