Создать сервер lineage 2       Галерея       Hex цвета ника       Ла2 хостинг       Интерлюд сборки Evo team




В этой статье мы поговорим подробно как настраивать, запускать сборку l2j на примере, оптимизировать windows, mysql, подробнее затронем тему безопасности базы данных и серверной машины.

18669__pero
Итак, Вы уже познакомились с первой статьей и определились со сборкой, операционной системой.
А в этой статье мы поговорим подробно какие программы надо устанавливать, настраивать, как оптимизировать windows, mysql, сам ла2 сервер. Итак переходим к делу..

Предположим, что у нас стоит Windows (тут я советую windows server 2008 x64). Если вы выбрали линукс систему, то для этого будет другая статья. Подробнее, что лучше винда или линукс читайте в 1 статье (я лишь могу заметить, что есть люди которые винду оптимизируют так, что любой линукс будет отдыхать)

§1. Установка программ:
Перед тем, как настраивать и запускать саму сборку сервера, нам нужно поставить программы: Java платформа (у нас ведь ява сборка 😉 ), MySQL(все данные серверные игроков, нпс, аккаунты и так далее находятся в базе данных формата mysql).
Это были основные программы, только, чтобы запустить сервер. Есть еще две программы, которые тоже понадобятся: L2-FileEdit(чтобы сделать патч для клиента), а также Navicat (нужен для редактирования sql файлов базы).
Все эти программы устанавливаются очень просто и впринципе, если Вы не сможете их поставить своими силами, то админить сервер Вам будет очень-очень непросто. Но тем не менее, я позже напишу подробный мануал по установке MySQL (сейчас в нете их полным полно).

§2. Оптимизация Windows (на примере windows server):
Нам нужно чтобы винда направлено выделяла ресурсы под наш сервер, а не под другие сервисы. Изначально в винде сделано так, что она выделяет больше оперативки своим внутренним службам, работающим в фоновом режиме. Нам это вообще никак не подходит. Поэтому делаем слудующее:

a) Нажмите правой кнопкой мыши на «Мой компьютер» и выберите Свойства (Properties)
b) Кликните на вкладку «Дополнительно» (Advanced)
c) Перед вами будет окно Быстродействие (Perfomance Option) с кнопкой «Параметры» (Settings), нажмайте на нее.
d) Откроется новое окно, там нажмите на вкладку «Дополнительно» (Advanced)
e) Теперь перед Вами «Распределение времени процессора и использование памяти» (Processor scheduling), поставьте там везде «Программ» (Programs). Комьютер пока не перезагружайте, т.к у нас впереди еще одно дело.

Если вы читали предыдущую мою статью, посвященную Java, то я там говорил, что исполнение программ на java (в нашем случае это java сборка ла2) полностью контролируется виртуальной машиной, соответственно нам надо сделать так, чтобы как можно больше ресурсов нашего компа работали на виртуалку.
Для этого делаем вот что:

f) Вы полняем пункты от a) до e), которые были выше, только галочку на «Программы» нам ставить не надо, а надо там нажать на кнопку внизу «Изменить» (Change).
Эта которая находится в разделе «Виртуальная память» (Virual Memory).
g) Должно появится новое окно. Там выберите свой жёсткий диск, где лежит Ваша сборка.
h) Там же чуть ниже выберите «Размер файла подкачки для выбранного диска», выберите пункт «Особый размер» (Custom Size).
i) Теперь Вы сможете изменить параметры: «Исходный размер» (Initial size) и «Максимальный размер» (Maximum size).
Эти параметры нужно ставить очень аккуратно, т.к там должно отображаться количество вашей общей оперативной памяти делённой на примерно 1,5 (можно на 1,4).
j) Например у вас 6 гигов оперативы. Поделите 6000 на 1,4, получится почти 4300. Вот эти 4300 и введите в «Исходный размер» (Initial size) и «Максимальный размер» (Maximum size).
k) Нажимаем Ок, перезагружаем комп.

§3. Оптимизация MySQL:
Так, теперь нам нужно настроить mysql, иначе будут лаги при большом онлайне.
Перед тем, как что-то менять в настройках мускула, отключите сервис MySQL. Это можно например сделать так: Панель управления — > Администрирование (Administrative tools) -> Службы (Services). Открывается окошко, ищите там MySQL, правой кнопкой — > остановить.
Заходим в папку, где у Вас установлен MySQL. Там ищем файл my.ini. Сделайте его резервную копию на всякий случай.
Открываем my.ini (оригинал) и начинаем с ним работать:

1. ищем строку max_connections= ставим там 500 (max_connections=500 -вот так, больше пока не нужно. но потом Вам надо будет увеличить, когда онлайна будет подходить к этой цифре.)
2. ищем query_cache_size= тут ставим 0
3. ищем table_cache= (тут надо поставить значение = Вес базы *2, но для начала можете поставить 256)
4. innodb_additional_mem_pool_size= тут ставим от 4M до 8M (получится так innodb_additional_mem_pool_size=8M)
Это дополнительная память которая выделяется для таблиц в случае если они больше указанного значения table_cache.
5. innodb_buffer_pool_size= тут ставим значение свободной оперативки. если у вас оперативки не так много, то лучше не ставить больше чем сейчас у Вас там стоит.
6. innodb_thread_concurrency= это значение зависит от вашего процессора, например для Quad Core Xeon 3220 — 2.40GHz можно поставить значение 60. (если не уверены, то не меняйте значение которое у Вас стояло)

Теперь сохраняйте файл my.ini и запускайте сервис MySQL.

§4. Оптимизация ла2 сборки:
Далее мы будем оптимизировать величину потоков, которые могут быть созданы, т.е Threads configuration (Threadpool).
Почти на всех сборках данные конфиги одинаковы (обычно это gameserver/config/threads.properties).
В моем случае конфиг такой:
Вот эти значения у меня стоят на 16. Если онлайн будет у Вас 400, то поставьте 32.

ThreadPoolSizeEffects = 16
ThreadPoolSizeGeneral = 16
ThreadPoolSizeWorld = 16
ThreadPoolSizeAi = 16

А вот эти значения расчитываются по следующей формуле: 100 человек онлайна = 10, т.е вот у меня стоит 15, значит онлайн у меня 150 человек:

IoPacketThreadCoreSize = 15
GeneralPacketThreadCoreSize = 15
MinPriorThreadCoreSize = 15
GeneralThreadCoreSize = 15

Теперь перейдем к настройке startGameServer.bat файла (если у Вас линукс, то это файл GameServer_loop.sh).
Заходим в папку gameserver, находим там этот файл, открываем в блокноте (я от себя всем админам советую поставить бесплатную программу Notepad++).
Находим там что-то типа:

java -Xmx512m -cp ./../libs/*;l2jserver.jar net.sf.l2j.gameserver.GameServer

Убедитесь, что перед словом «java» нет слова «REM».
Эта строчка показывает, что под геймсервер будет выделено 512 мегабайт оперативки. Данную строчку нам надо переделать в соответствии с возможностями вашего компа. Если у вас windows х32, то Вы не сможете поставить значение выше чем 1532. Если х64, то проблем нет. Вот у меня 6 гигов оперативки, я себе поставил такие настройки:

java -server -Xmx4096m -Xms2048m -Xmn1024m -XX:PermSize=256m -XX:SurvivorRatio=8 -Xnoclassgc -XX:+AggressiveOpts -cp ./../libs/*;l2jserver.jar net.sf.l2j.gameserver.GameServer

Хочу заметить, что если Вы хотите хороший сервер, то Вам нужна геодата. Сервер с геодатой обычно потребляют 3,5 гига оперативки. Т.е парамерт Xmx должен быть как минимум: Xmx3.5G

Вернемся в наш конфиг геймсервера.
1. Найдите конфиг где есть такая строчка: CommunityType или Community board. В моем случае находится в options.properties.
CommunityType = Full — тут я советую поставить off (т.е получится CommunityType = off)
Почему мы выключаем комьюнити сервер? — ответ: он жрет немало ресурсов, особенно при среднем и большом онлайне.
2. В этом же конфиге (options.properties) найдите настройки логирования: LogChat, LogItems, GMAudit.
Я советую их тоже отключить. Они также влияют на загрузку процессора и памяти.
3. Теперь найдите в конфигах такую строку: MaxDriftRange (в моем случае это ai.properties).
Чем меньше это значение, тем меньше нагрузки на процессор. У меня стоит 200, но Вы можете поставить и вообще 0.

На этом мы закончили с оптимизацией.
В следующей статье мы подробно затронем тему безопасности базы данных и серверной машины, выберем антивирус.

Статья написана Максим (Blackmouse) Минаков и защищена частью 4 Гражданского Кодекса Российской Фередации. При копировании ссылка на la2vampire.ru обязательная.

Комментировать

Вы должны войти для того, чтобы оставить комментарий.