Lineage2Одна из лучших MMORPG, в которой одновременно могут учавствовать несколько тысяч игроков. Захватывающие приключения во вселенной LineaAge, свободное общение фанатов LA2, новые друзья, новые возможности.
2. MySql
3. Navicat
4. Сервер
5. Редактор клиента C1-ST1
#2 Установка Java
Данная программа предназначена для корректной работы движка сервера, который написан на «Ява» языке. Ниже представлена установка java 5.0 Update 9.
Рис 1. Нажимаем Next
alt
Рис 2. Соглашаемся с лицензией и нажимаем Next
alt
Рис 3. Указываем путь к установке. Нажимаем Next. (Путь не менять, сервер не найдет программу иначе.)
alt
Рис 4. Нажимаем Next
alt
Рис 5. Началась установка. Ждем завершения.
alt
Рис 6. Установка завершена. Нажимаем Finish. После установки, обновите вашу Java через «Панель управления». Практически все сервера требуют 1.6 java.
alt
#2 Установка MySql
MySql работает с базами сервера.
Рис 1. Нажимаем Next
alt
Рис 2. Выбираем Typical. Нажимаем Next.
alt
Рис 3. Нажимаем Install
alt
Рис 4. Идет установка. Ждем окончания.
alt
Рис 5. Выбираем Skip Sign-Up. Нажимаем Next.
alt
Рис 6. Галочка должна уже стоять, если не стоит, то ставим сами. Нажимаем Finish.
alt
Рис 7. Нажимаем Next.
alt
Рис 8. Ставим Standart Configuration. Нажимаем Next.
alt
Рис 9. Галочку на Install As Windows Service. Также галочку Launch MySQL Server automatically. В меню Service Name: выбираем пункт MySQL. Нажимаем Next.
alt
Рис 10. Галочку на Modify Security Settings. Также галочку Enable root access from remote machines. В полях New root password и Confirm вводим ваш пароль для MySql. (Пароль запомните, он нужен будет для установки сервера.)
alt
Рис 11. Нажимаем Execute.
alt
Рис 12. Нажимаем Finish. Ваш MySql установлен и готов к работе.
alt
#3 Установка Navicat
Это программа нужна для редактирования ваших баз сервера.
Рис 1. Нажимаем Next.
alt
Рис 2. Соглашаемся с лицензией и нажимаем Next.
alt
Рис 3. Указываем путь к установке. Нажимаем Next.
alt
Рис 4. Нажимаем Next.
alt
Рис 5. Нажимаем Next.
alt
Рис 6. Нажимаем Install.
alt
Рис 7. Началась установка. Ждем завершения.
alt
Рис 8. Установка завершена. Нажимаем Finish.
alt
#4 Настройка Navicat
Рис 1. Запускаем Navicat. Меню File => New Connection...
alt
Рис 2. В строке Connection Name: вписываем ваше название для соединения. В поле Password: пишем пароль от MySql. Остальные поля не трогаем и оставляем также. После чего нажимаем Test Connection кнопку.
alt
Рис 3. Если у вас так же как и на рисунке, то значит вы MySql установили правильно и он готов к работе. Нажимаем OK потом в окне Connection тоже нажимаем OK.
alt
Рис 4. Нажимаем правой клавишей на ваше соединение которое вы создали. Выбираем пункт New Database...
alt
Рис 5. В строке Enter database name: вписываем название l2jdb (Это стандартное название для базы сервера) Нажимаем OK. Ваша база для сервера создана и готова к работе.
alt
#5 Установка сервера.
В установке используется сервер версии 1.3.3.5 команды разработчиков RusTeam (www.l2rt.ru). При установке других сборок серверов, некоторые мелочи могут не совпадать. Но суть везде одна.
Рис 1. Правой клавишей на файл server/tools/database_installer.bat выбираем пункт Изменить. Правим следующие строки.
set mysqlBinPath=C:/Program Files/MySQL/MySQL Server 5.2/bin => указываем тут точный путь к MySql папке bin. (обязательно проверьте)
set lspass=12345 => пароль от MySql
set lsdb=l2jdb => имя вашей базы
set gspass=12345 => пароль от MySql
set gsdb=l2jdb => имя вашей базы
Закрываем и сохраняем.
alt
Рис 2. Запускаем файл server/tools/database_installer.bat Ставим 1, нажимаем Enter.
alt
Рис 3. Нажимаем Enter.[/color]
alt
Рис 4. Ставим 1, нажимаем Enter.
alt
Рис 5. Началась установка баз сервера. Ждем окончания процесса.
alt
Рис 6. Ставим Y, нажимаем Enter.
alt
Рис 7. Базы установились. Нажимаем Enter.
alt
Рис 8. Открываем в блокноте файл server/gameserver/config/server.cfg Правим следующие строки.
ExternalHostname=82.28.82.28 => Вписываем внешний IP (интернет).
InternalHostname=192.168.0.1 => Вписываем внутренний IP (локальный). Если играете один, то пишем 127.0.0.1
URL=jdbc:mysql://localhost/l2rt => Заменяем l2rt на имя нашей базы l2jdb
#URL=jdbc:hsqldb:hsql://localhost/l2rt => Заменяем l2rt на имя нашей базы l2jdb
#URL=jdbc:sqlserver://localhost/database=l2rt/user=sa/password= => Заменяем l2rt на имя нашей базы l2jdb
Password=12345 => вписываем пароль от MySql
MinProtocolRevision = 740 => Можете уменьшить или увеличить протокол если у вас возникли проблемы с клиентом.
MaxProtocolRevision = 746 => Можете уменьшить или увеличить протокол если у вас возникли проблемы с клиентом.
Закрываем и сохраняем.
alt
Рис 9. Открываем в блокноте файл server/login/config/loginserver.cfg Правим следующие строки.
ExternalHostname=82.28.82.28 => Вписываем внешний IP (интернет).
InternalHostname=192.168.0.1 => Вписываем внутренний IP (локальный). Если играете один, то пишем 127.0.0.1
URL=jdbc:mysql://localhost/l2rt => Заменяем l2rt на имя нашей базы l2jdb
#URL=jdbc:hsqldb:hsql://localhost/l2rt => Заменяем l2rt на имя нашей базы l2jdb
#URL=jdbc:sqlserver://localhost/database=l2rt/user=sa/password= => Заменяем l2rt на имя нашей базы l2jdb
Password=12345 => вписываем пароль от MySql
AutoCreateAccounts=True => Вписываем True. Это позволит создавать вам аккуанты прямо в игре.
Закрываем и сохраняем.
alt
Рис 10. Запускаем файл server/login/RegisterGameServer.bat Ставим цифру 1 и нажимаем Enter.
alt
Рис 11. Теперь нажимаем Enter. У вас должен появиться файл server/login/hexid(server 1).txt Берем этот файл переименовываем в hexid.txt и копируем в server/gameserver/config/
На этом настройка сервера завершена.
alt
Рис 12. Для включения сервера запустите 2 файла.
server/gameserver/startGameServer.bat
server/login/startLoginServer.bat
Ждите оканчания загрузки сервера. При полной загрузке GameServer напишет последней строчкой «Registered on login as Server 1 : Bartz»[/color]
#5 Настройка клиента.
Сервер и клиент игры должны быть одинаковых хроник.
Запускаем программу C1-1ST/L2Dat_EncDec.exe указываем путь к папке system вашего клиента. Открываем меню L2encdecTools => Edit INI Files => l2.ini
Правим там следующую строчку.
ServerAddr=192.168.0.1 => Вписываем ваш IP. Куда должен конектиться клиент к серверу.
Сохраняем и запускаем клиент Lineage II/system/l2.exe[/color]
Частые вопросы:
1) Как стать Админом?
О. В Navicat открываете таблицу Characters ищите столбец accesslevel ставите там 200 или 1.
2) В. При запуске клиента у меня появляется ошибка Game Guard, как мне устранить её?
О. Скачайте эмулятор Game Guard (GG) и установите его.
3) В. Где менять рейты и прочие настройки?
О. server/gameserver/config/ там лежат все необходимые файлы. Открываем в блокноте, читаем и меняем как вам нужно.
4) В. Как мне сделать сайт для сервера на своем компьютере?
О. Вам нужно скачать DiskW и запустить его.
Управление L2J сервером
Ниже приведены ответы на популярные вопросы, возникающие в процессе администрирования сервера L2J.
1. Как сделать себя админом?
Заходим в Navicat:
.запускаешь только start.bat
.открываешь базу l2db
.ищешь accounts, меняешь access_level на 100
.ищешь characters, меняешь access_level на 200
Запускаем сервер!
2. Как включить авторег?
.заходим l2j>config>открываем файл server блокнотом и в строке AutoCreateAccounts= пишим false, или наоборот, =true
3. Как сделать так чтобы не все кто заходил были гмами?
делаем также как во 2-ом вопросе.
в строке EverybodyHasAdminRights = пиши False, а если не хотите что-бы все были гмами то пишем = true
4. Где хранятся основные базы, чата, игры т.е. чаров и т.д.
.База линейки
Serverdiskwusrlocalmysqldatal2jdb
База форума
Serverdiskwusrlocalmysqldataphpbb
Системная mysql
Serverdiskwusrlocalmysqldatamysql
База php_m_admin
Serverdiskwusrlocalmysqldataphpmyadmin
6. Где изменить скорость Страйдера и виверины?
.l2j>config>открываем файл other блокнотом и редактируем там строки:
# movement speed for strider and wyvern
WyvernSpeed = 200
StriderSpeed = 100
Ставте цифры на ваше усмотрение
7. Как добавить вещь в магазин (продавцу)?
Откройте таблицу `merchant_buylists`
В первом поле укажите ID вещи
Во втором поле укажите цену у продавца
В третьем поле - ID вкладки магазина (их можно найти в `merchant_shopids`)
В четвертом - номер в списке вещей. Если во вкладке 54 вещи, и вы хотите добавить свою в конец списка, укажите номер 55. Это поле должно быть уникально для вкладки. Так что 2ух одинаковых номеров вещей не может быть.
Соберем всё вместе
Я хочу, чтобы Trader Jackson в магазине войнов на TI продавал dual SLS за 150a и хочу, чтобы он был послдним в списке.
Надо найти ID вкладок Trader Jackson в таблице `merchant_shopids`. Её npc ID = 7002, так что воспользуемся фильтром и обнаружим, что у неё 2 ID вкладки: 11 и 12
Какая для чего? Посмотрим в её html файле (7002.htm в папке data/html/merchants)
11 для войнов и 12 для магов
У dual SLS item ID = 2626 (находимв таблице `weapons`)
У Trader Jackson 54 вещи в `merchant_buylist`
Так что добавим в `merchant_buylists`
2626 150 11 55
Щёлкните на галочку внизу и выйдите и Navicata. Перезагрузите сервер для обновления.
8. Изменение скиллов
Файлах скиллов c:/server/l2j/gameserver/data/stats/skills/*.xml и в таблицах skill, skill_trees, skill_learn
Например, откат
9. Изменение брони
c:/server/l2j/gameserver/data/stats/armor/*.xml и в таблице armor
10. Изменение оружия
c:/server/l2j/gameserver/data/stats/weapon/*.xml и в таблице weapon
11. Как добавить второй GameServer к Login серверу?
Следуйте данному Мануалу :
Скопируйте папку C:/server на второй компьютер на котором будет располагатся второй сервер.
На первом компьютере запустите C:/server/l2j/login/RegisterGameServer.bat
Наберите 1 и нажмите Enter, программа создаст файл hexid(server 1).txt
Примечание : не вводите 0 так как этот ID уже занят первым сервером
Скопируйте этот файл в папку C:/server/l2j/gameserver/config второго компьютера
На втором сервере :
Cотрите старый hexid.txt и переименуйте hexid(server 1).txt в hexid.txt
Откройте server.properties и впишите :
ExternalHostname=(blank) -> замените на (звездочку)*
InternalHostname=127.0.0.1 -> замените на *
LoginPort=9014 -> замените на 9015
LoginHost=127.0.0.1 -> Впишите IP login сервера ( 1 комп )
Теперь на первом игровом сервере запустите startLoginServer.bat и startGameServer.bat
На втором компе нужно запустить только startGameServer.bat ( так как оба сервера будут использовать 1 логин сервер).
12. Как добавить стартовый скилл?
Например я хочу добавить Weight Limit level 2 всем Human Файтерам.
Откройте ДБ через Navicat или PhpMyAdmin.
И запустите такую команду:
Код:
INSERT INTO skill_trees VALUES (0,150,2,'Weight Limit',0,1);
Пояснение:
0 - Class ID (Human Fighter имеет class ID = 0)
150 - Skill ID (Weight Limit имеет skill ID = 150)
2 - Уровень скилла
'Weight Limit' - Название скилла
0 - количество SP необходимое для изучения скилла
1 - Уровень игрока необходимый для изучения скилла
13. Как добаыть вещей в магазины NPC?
Используйте Навикат.
Откройте merchant_buylists table
В первом поле нужно вписать ID номер вещи, которую хотите добавить.
Во втором поле вводите цену, за которую вы хотите чтобы вещь продавалась.
В третьем поле вводите ID номер магазина в котором эта вещь будет продаваться.
( Его можно посмотреть зная ID номер продавца в merchant_shopids table )
В четвертом поле вы вносите номер позиции, которую будет занимать вещь в списке.
( Если например в магазине уже продается 54 вещи, и вы хотите добавить вещь в конец списка, то в четвертом поле нужно написать 55. Позиция предмета уникально и вы не можете иметь 2 предмета в одной и той-же позиции в одном и том же списке )
Теперь обобщим :
Если вы хотите продать сдвоенный SLS у продавца Ttader Jackson ( Fighter Shop ) в Talking Island за 150 адены.
И чтобы он находился в конце списка.
1) Посмотртеть его Shop ID в merchant_shopids table.
ID номер NPC - 7002. Вы заметите что у неё 2 магазина : 11 и 12.
Какой из них какой ?
2) Это можно посмотреть в его html файле ( data/html/merchants/7002.htm )
11 - Магазин Бойца
12 - Магазин Мистика
3) Посмтотреть ID номер спаренного SLS ( wepons table ).
Спареный SLS ID - 2626
У трайдера уже 54 предмета в листе. ( merchant_buylist )
Cледовательно я буду должен вписать следующую строчку в merchant_buylists :
2626 150 11 55
Теперь сохраните в навикате и выйдите из него.
Рестартаните сервер.
14. Почему я могу играть на локальном сервере а другие игроки не могут играть на моем сервере?
Потому что у вас неоткрыты порты 2106 и 7777 ( TCP и UDP ) на сервере или модеме/файрволе или роутере.
15. Как ввести SubClass?
Когда игрок достигает 75 уровня, он может выбрать подкласс ( SubClass ). Для этого нужно поговорить с Grand Master в Адене. Так в L2j еще не реализован Квест на сабклас то в altsettings.properties нужно выставить:
AltSubClassWithoutQuests = True
16. Как работают Seed Skils?
Должны работать так :
Длительность каждого Seed 5 секунд.
Цель - любой персонаж кроме себя.
Перезарядка скилла 30 минут.
Зарядите кого-нибудь Seed'ом и если он кастует магию ( например Aura Symphony, Blizard, Elemental Storm и т.д. ), то она будет наносить масивные повреждения.
Разные комбинации Seed нужны для разных магий :
Aura Symphony: Любой 1 seed. Перезарядка : 30 minutes
Blizzard: 2 water seed. Перезарядка : 30 minutes
Inferno: 2 fire seeds. Перезарядка : 30 minutes
Demon Wind: 2 wind seeds. Перезарядка : 30 minutes
Elemental xxxx: 2 seeds разного вида... 3 категории к этому классу
(разная категория к "xxxx") и каждая имеет разную комбинацию..
Перезарядка : 30 minutes
17. Как поменять в списке имя сервера Bartz на мой сервер?
Для смены имени нужно изменять клиент для этого вам понадобится вот эта тулза.
Для альтернативы существует L2ClientDat_en - найдите в Google.
И UltraEdit
1) Сначала нужно декодировать servername-e.dat в LineageII/system используя команду :
l2encdec -g servername-e.dat ( если у вас неизменённые ранее файлы )
или l2encdec -s servername-e.dat ( если наоборот )
После этого вы получите файл dec-servername-e.dat.
Теперь открываем его с помощью UltraEdit, и вы увидите текст "Bartz" и перед ним hex код 06, это означает Bartz ( 5 символов ) используется 5 байт и 1 байт для hex ID кода = 06
Теперь высчитайте свое имя.
Например MyServerName имеет 12 символов значит будет использовать 12байт + 1 байт для hex кода = 13 байт ( децимально ) = 0D ( хекс )
Примечание: чтобы переводить децимальные числа в хекс код и наоборот воспользйтесь простым виндовс калькулятором.
Теперь заменяем код 06 на 0D, Замените "Bartz" на "MySer", затем в конце буквы r, нажмите Ctrl+D и вставте ещё 7 байт, так как MyServerName на 7 байт(символов) длиннее "Bartz", и продолжайте набирать "verName". Сохраните - Готово.
18. Как сделать автоизучение скилов?
Заходим в other.properties и выставляем :
AutoLearnSkills=True
Как добавить второй GameServer к Login серверу ?
Следуйте данному Мануалу :
Скопируйте папку C:/server на второй компьютер на котором будет располагатся второй сервер.
На первом компьютере запустите C:/server/l2j/login/RegisterGameServer.bat
Наберите 1 и нажмите Enter, программа создаст файл hexid(server 1).txt
Примечание : не вводите 0 так как этот ID уже занят первым сервером
Скопируйте этот файл в папку C:/server/l2j/gameserver/config второго компьютера
На втором сервере :
Cотрите старый hexid.txt и переименуйте hexid(server 1).txt в hexid.txt
Откройте server.properties и впишите :
ExternalHostname=(blank) -> замените на (звездочку)*
InternalHostname=127.0.0.1 -> замените на *
LoginPort=9014 -> замените на 9015
LoginHost=127.0.0.1 -> Впишите IP login сервера ( 1 комп )
Теперь на первом игровом сервере запустите startLoginServer.bat и startGameServer.bat
На втором компе нужно запустить только startGameServer.bat ( так как оба сервера будут использовать 1 логин сервер )
Готово.
19. Как добавть стартовый скилл?
Например я хочу добавить Weight Limit level 2 всем Human Файтерам.
Откройте ДБ через Navicat или PhpMyAdmin.
И запустите такую команду :
CODE
INSERT INTO skill_trees VALUES (0,150,2,'Weight Limit',0,1);
Готово.
Пояснение :
0 - Class ID (Human Fighter имеет class ID = 0)
150 - Skill ID (Weight Limit имеет skill ID = 150)
2 - Уровень скилла
'Weight Limit' - Название скилла
0 - количество SP необходимое для изучения скилла
1 - Уровень игрока необходимый для изучения скилла
Дальше по аналогии...
20. Обьясните пожалуста знаечение настроек выпадения вещей при смерти.
Это меняется в файле server.properties :
# Player Drop Rate control, values are the percent values
PlayerRateDrop = 20
PlayerRateDropItem = 70
PlayerRateDropEquip = 25
PlayerRateDropEquipWeapon = 5
Пояснение : 20% это шанс выпадения вещи из инвентаря. Если вещь выпадает, то 70%
шанс того что вещь выпадет из инвентаря. 25% выпадение одетого шмота (броня/бижутерия) и 5% шанс выпадения оружия.
21. Сервер ужасно лагует как это поправить?
Откройте Task Manager или еквивалент ему. И установите всем java.exe процессам приоритет High/Высокий или Real Time/Реального времени
Примечание : Ставте Real Time/Реального времени только в том случае если у вас выделеный сервер и только под L2j и Веб.
Если после долгой работы сервера java загружает проц под 100% то ресарт делай.
Добавлено через 1 минуту
Gm Комманды L2J
//admin - Brings up the admin menu.
//gmchat Sends a global message that only GMs can see. Ussage - //gmchat Type message here
//gm - Turns on or off your GM status.
//invul - Makes you invulnerable.
//delete - Used to remove a targetted Mob. Mob will not respawn.
//kill - Used to kill a targetted Mob. Mob will respawn.
//target Used to target a Mob or player. Ussage - //target kadar
//buy - Opens the GMShop.
//gmshop - Opens the GMShop.
//announce_menu - Opens the announce menu.
//list_announcements - Lists the current announcements.
//reload_announcements - Reloads the announcement list.
//announce_announcements - Posts all announcements in list.
//add_announcement Adds an announcement. Ussage - //add_announcement Your announcement here
//del_announcement Deletes an announcement. Ussage - //del_announcement Your announcement here
//announce Posts an announcement. Ussage - //announce Your announcement here
//itemcreate - Opens the item creation menu.
//create_item Creates an item. Ussage - //create_item item_id
//server_shutdown Starts the shutdown process. Ussage - //server_shutdown Number of seconds
//server_restart Starts the restart process. Ussage - //server_restart Number of seconds
//server_abort - Stops the server shutdown.
//show_spawns - Opens spawn menu.
//spawn Spawns a Mob on current target. Ussage - //spawn npc_id
//spawn_monster Spawns a Mob on current target. Ussage - //spawn_monster npc_id
//spawn_index Shows menu for monsters with respective level. Ussage - //spawn_index level
//show_skills - Lists targetted players skills.
//remove_skills - Removes the targetted players skills.
//skill_list - Opens skill menu.
//skill_index - Opens skill menu according to players stats.
//add_skill Adds a skill to a targetted player. Usage - //add_skill Skill_id level
//remove_skill Removes a skill from a targetted player. Ussage - //remove_skill Skill_id
//get_skills - Temporarily gives you the skills of a targetted player.
//reset_skills - Restores your skills from before the get_skills command.
//add_exp_sp_to_character - Opens the xp sp menu of the targetted player.
//add_exp_sp Adds xp sp to targetted player. Ussage - //add_exp_sp xp_number sp_number
//edit_character - Opens menu to edit targetted player.
//current_player - Opens character list.
//character_list - Opens list of online players.
//show_characters - Opens list of online players.
//find_character - Opens the find player menu.
//save_modifications - Saves the edits done to the targetted player.
//show_moves - Opens the teleport menu.
//show_moves_other - Opens the teleport menu named other.
//show_teleport - Opens the teleport menu.
//teleport_to_character Teleports you to the named player. Ussage - //teleport_to_character kadar
//teleportto Teleports you to the named player. Ussage - //teleport_to_character kadar
//teleto r
//teleto
//move_to Teleports you to coordinates given. Ussage - //move_to 11111 22222 3333
//teleport_character Teleports targetted player to coordinates given. Ussage - //move_to 11111 22222r 3333
//recall Summons a named player to you. Ussage - //recall kadar
//restore - Restores a broken player info.
//repair - Repairs a broken player info.
//changelvl Changes a targetted players access level. Ussage - //changelvl Access_level_number
//ride_wyvern - Command used to summon and ride a wyvern.
//unride_wyvern - Command to dismount and unsummon a wyvern.
//ban Used to kick and ban a named players account. Ussage - //ban kadar
//unban Used to unban a named players account. Ussage - //unban kadar
//kick Used to disconnect named player. Ussage - //kick kadar
//mons - Used to start the Monster Races.
//edit_npc Used to edit a NPCs stats. Ussage - //edit_npc npc_id
//save_npc - Saves the editted NPC info.
//recall_npc - Teleports targetted NPC to you.
//show_droplist Shows the named NPCs drop list. Ussage - //show_droplist npc_id
//edit_drop Edits the named NPCs droplist. Ussage - //edit_drop npc_id item_id [min max sweep chance]
//add_drop Adds a drop to the named NPCs droplist. Ussage - //add_drop npc_id item_id [min max sweep chance]
//del_drop Deletes a drop to the named NPCs droplist. Ussage - //del_drop npc_id item_id
//showShop - Shows a targetted vendors shoplist.
//showShopList - Shows a targetted vendors shoplist.
//addShopItem Adds an item to a vendors shop. Ussage - //addShopItem Shop_ID item_id Price
//delShopItem Deletes an item from a vendors shoplist. Ussage - //delShopItem Shop_ID item_id
//editShopItem Edits an item in a vendors shoplist. Ussage - //editShopItem Shop_ID item_id Price
//reload_quest - Reloads quest data.
//walk -
//explore -
//gonorth -
//gosouth -
//goeast -
//gowest -
//goup -
//godown -
See SIEGES . For the following siege commands
//setcastle -
//clean_up_siege -
//spawn_doors -
//move_defenders -
//startsiege -
//endsiege -
//list_siege_clans -
//add_defender -
//add_attacker -
//clear_siege_list -
//sgspawn
//siege - Castle names: gludio, giran, dion, oren
//box_access - with box targetted, shows access list
//box_access char1 char2 to add players to box Usage - //box_access kadar LadyPain
//box_access no char1 removes player from box access Ussage - //box_access LadyPain no kadar
//forth -
//bsh -
//jython -
//failed -
//fight_calculator -
//fight_calculator_show -
//fcs -
//play_sounds -
//nokarma - removes karma from target player
//setkarma value - sets karma of target player to value
//setew value sets enchantment of target player currently equipped weapon to value Usage - //setew 9999
//banchat mutes a player Usage - //banchat kadar
//unbanchat unmutes a player Usage - //unbanchat kadar
//polymorph character npc id
//polymorph item id to poly target into id
//polyself Used to polymorph yourself into a mob
//unpolyself Returns you to the normal state
//polymorph item Polymorphs an item
//invis to hide your character
//invisible to hide your character
Character will still show to the player who uses the command, however an "Invisible" Title indicates you are invisible.
//vis to unhide your character
//visible to unhide your character
//earthquake Creates an earthquake
//para_all - Paralyzes all players}}
//unpara_all - Unparalyze all players
//para - Paralyze Target
//unpara - Unparalyze Target
//bighead Gives target a big head
//shrinkhead Returns targets head to normal size
//test These //test commands are for the universe mapping feature (developmental)
//test uni flush
//test hash
//test uni
//res
//find_mammon lists the current location (if any) of the Mammon NPCs
//show_mammon Forces the randomly-spawned Mammons to become visible.
//hide_mammon Forces the randomly-spawned Mammons to become invisible.
//list_spawns Lists all the spawns for the specified NPC ID.
//admin_gmliston (To add Gm from gmlist)
//admin_gmlistoff (To remove GM from gmlist)
//admin_silence (To enable/disable private message mode)
/block name
/unblock name
/blocklist
/allblock
/allunblock
//spawn mob_name|mob_id [quantity] [respawn_time_secs] //spawn kaboo_orc
//heal heals yourself
//heal (with a character selected) - heals selected character
//heal - heals all characters within
//heal - heals character with the name . Does not have to be targeted.
//give_all_skills it will give your target all the skills he can learn at his level with his class
/friendlist
//openall opens all doors
//closeall closes all doors
//unspawnall remove all npcs from world
//respawnall reload npc data
Добавлено через 3 минуты
Оптимизация Java Lineage 2 сервера для онлайна в 1000 человек.
Статья актуальная для Windows 2003!
1.Системные требования/ОС
Чаще всего под сервер используется железо типа Core2Duo с 2-4 гигами оперативной памяти.
Для онлайна в 1000 человек этого мало. Я рекомендую брать серверные решения , например у меня стоит:
Код:
Процессор: Quad Core Xeon 3220 - 2.40GHz (Kentsfield) - 2 x 4MB cache
Оперативная память: 8 GB DDR2 667
Жёсткий диск: 73GB SA-SCSI,15000 скорость оборотов дисков(RPM)
2-ой Жёсткий диск: 73GB SA-SCSI,15000 скорость оборотов дисков(RPM)
Internet: 1000mbit
Windows: Windows server 2003 64bit RC2
Не так важен процессор для сервера как его харддиски.
Для онлайна в 1к человек, нужно ставить SAS или SCSI диски со скоростью вращения шпинделя 15к. У меня на данный момент стоят два таких жёстких диска.
На первом у меня Windows и программы.
На втором база данных сервера. Всегда держите базу данных на отдельном диске!
Оптимальный объем оперативы 6 гигабайт.
Для сервера нужен хороший интернет, 100мегабитного канала хватит.
Я рекомендую использовать Windows Server 2003 64 bit. В 64битной версии MYSQL и JAVA работают быстрее и можно больше выделить памяти серверу и базе. Но об этом позже.
2.Windows Server 2003 x64
Ну чтож, считаем что у нас есть хорошая серверная машина с Windows 2003.
Windows изначально выделяет больше оперативы внутренним службам, работающим в фоновом режиме. И это надо менять:
Код:
1.Нажмите правой кнопкой мыши на мой компьютер и выберите Свойства
2.Кликните на вкладку "Дополнительно"
3.Вы увидите окошко Быстродействие с кнопкой «Параметры» Нажмите на нее. (Новое окно)
4.Кликните на вкладку "Дополнительно"
5.В данном окне щёлкните на вкладку Дополнительно.
6.Тут вы видите «Распределение времени процессора и использование памяти» поставьте везде «Программ».
Теперь мощности распределяются правильно. Нам нужно выделить больше виртуальной памяти под систему.
Код:
1.Нажмите правой кнопкой мыши на мой компьютер и выберите Свойства (появится новое окно)
2.Кликните на вкладку "Дополнительно"
3.Вы увидите окошко Быстродействие с кнопкой «Параметры» Нажмите на нее. (Новое окно)
4.Кликните на вкладку "Дополнительно"
6.В самом низе раздел "Виртуальная память",в данном разделе нажмите изменить.
7.Появится новое окно,в данном окне выберите свой жёсткий диск,
где у вас стоит ваш сервер,когда выбрали диск с сервером,
то чуть ниже выберите "Размер файла подкачки для выбранного диска",выберите пункт "Особый размер".
8.Появятся два окошечка для ввода:
Исходный размер(Мб):
Максимальный размер(Мб):
В данных полях вы вводите количество общей оперативной памяти делённой на 1,5
Т.е. в данный момент у меня 8,5 гигабайт оперативной памяти,я делю 8500 на 1,4
Получается примерное значение: 6100 гигабайт
Данное примерное значение вводим в обоих окнах:
Исходный размер(Мб): 6100
Максимальный размер(Мб): 6100
Проверьте что вы поделили верно и вписали в оба окна,одинаковые значения.
После чего нажмите Ok.
9.Закройте все окна и перезагрузите компьютер.
Если есть пустой хард, то советую использовать его под файл подкачки.
На этом настройка на данном этапе закончена.
3.MySql
Внимание настройки конфигурация производятся в файле конфигурации mysql: my.ini
Жизненно необходима настройка мускула, иначе лаги начнутся уже при онлайне в 300 человек.
Хотя я и не спец по мускулу, но пару советов дам.
Я буду показывать части из моих конфигурационных файлов mysql, для наглядности.
Несмотря на то, что mysql требует много оперативной памяти, ее нужно выделять с умом!
Иначе вы получите переполенный буфер и как следствие лаги!
Вам нужно всегда знать, сколько весит ваша база данных, и регулярно менять размер потребления ею оперативны.
Пример: Моя база данных весит 200 МБ, потому устанавливаю размер оперативной памяти на 512МБ.
Отключите ваш Мускул перед любыми настройками.
Текст типа --------> чтото умное <-------- мои комментарии.
Для начала проверим предустановки:
Находим в файле my.ini строчку:
default-storage-engine=INNODB
Если данной строчки нету, значит ищем :
default-storage-engine=
Пояснение:
default-storage-engine- Указывает какой движок использован для создания таблиц mysql .
INNODB-стандартная,версия движка для создания таблиц mysql
--------> Максимальное количество коннектов к mysql.
Код:
# Максимальное количество конкурирующих сессий сервер MYSQL будет
# позволять подсоединяться. Одна из этих связей будет резервироваться для потребителя с
# наивысшими привилегиями, т.е. для администратора, даже если
# предел связи был достигнут.
max_connections=600
-------->Оптимально поставить: 500-600 для онлайна в 500-600 человек.
-------->Это нужно установить на значение 0,так как это не используется в l2j серверах и только замедляет работу сервера.
Код:
# Данная опция подаёт запрос на кеширование сервера в оперативную память и количество памяти для к
кэширования.1=включено,0=выключено.
query_cache_size=0
------> Если ваши таблицы становятся большими, нужно поставить более большее значение чем есть,т.е. если ваша таблица весит 200 мб,то нужно поставить в 2 раза больше т.е. 512.
Код:
table_cache=256
---------> Это дополнительная память которая выделяется для таблиц в случае если они больше указанного значения table_cache,настройка на 8mb более чем достаточно
Код:
innodb_additional_mem_pool_size=8M
------>Хз для чего нужная эта фишка, тестить не хочу.
------>Но знаю точно что выставив 0 будут проблемы с I/O spikes
------>Потому юзаю "2"
Код:
# If set to 1, InnoDB will flush (fsync) the transaction logs to the
# disk at each commit, which offers full ACID behavior. If you are
# willing to compromise this safety, and you are running small
# transactions, you may set this to 0 or 2 to reduce disk I/O to the
# logs. Value 0 means that the log is only written to the log file and
# the log file flushed to disk approximately once per second. Value 2
# means the log is written to the log file at each commit, but the log
# file is only flushed to disk approximately once per second.
innodb_flush_log_at_trx_commit=2
------->Нет смысла ставить больше 16мегов.
Код:
The size of the buffer InnoDB uses for buffering log data. As soon as
# it is full, InnoDB will have to flush it to disk. As it is flushed
# once per second anyway, it does not make sense to have it very large
# (even with long transactions).
innodb_log_buffer_size=16M
--------> Если на сервере есть свободная оперативная память, то здесь можно увеличивать значения, что благотворно скажется для базы. В моем случае достаточно 1024 мб.
Код:
# InnoDB, unlike MyISAM, uses a buffer pool to cache both indexes and
# row data. The bigger you set this the less disk I/O is needed to
# access data in tables. On a dedicated database server you may set this
# parameter up to 80% of the machine physical memory size. Do not set it
# too large, though, because competition of the physical memory may
# cause paging in the operating system. Note that on 32bit systems you
# might be limited to 2-3.5G of user level memory per process, so do not
# set it too high.
innodb_buffer_pool_size=1024M
----------> Я всегда выставляю тут половину от моего innodb_buffer_pool_size.
----------> Помни, если менять этот конфиг, то нужно выключить мускул и удалить логи.
----------> Логи находятся : MySQL Server 5.0\data
----------> удалите ib_logile0 and ib_logfile1
Код:
# Size of each log file in a log group. You should set the combined size
# of log files to about 25%-100% of your buffer pool size to avoid
# unneeded buffer pool flush activity on log file overwrite. However,
# note that a larger logfile size will increase the time needed for the
# recovery process.
innodb_log_file_size=512M
--------->Данные настройки зависят напрямую от мощности вашего проца.
--------->Будьте очень осторожны меняя тут значения. Двигайтесь потихоньку. Если процессор как у меня, то смело выставляйте «60»
Код:
# Number of threads allowed inside the InnoDB kernel. The optimal value
# depends highly on the application, hardware as well as the OS
# scheduler properties. A too high value may lead to thread thrashing.
innodb_thread_concurrency=60
-----> Делаем что бы мускул кушал только оперативку вместо файла подкачки.
Код:
memlock
-----> создается отдельная таблица для каждого файла. это создает хорошее повышение производительности сервера
-----> Помните если вы что либо изменили в конфигурации mysql,то вам нужно заново импортировать все таблицы/файлы в mysql.
-----> Создайте базу с таким название и оставьте её пустой.
Код:
Название:
innodb_file_per_table
Хорошо я разъяснил все, что касаться mysql. Я рекомендую купить отдельный хард под базу данных. Это позволит повысить производительность.
Поехали дальше.
4.L2j Threadpool config
Настройка в конфигурации сервера.
Итак мы на финишной прямой, для начала нужно оптимизировать настройки threadpool .
В данном конфиге определяются сколько потоков может быть создано. Эти параметры всегда были загадкой для меня.
Менять данные параметры можно при условии, что у вас мощной процессор, иначе даже не пытайтесь.
Мне подходят значения в 5тикратном размере от стандартных.
Начните со стандартных значений и посмотрите как это работает.
И потом начинайте медленно изменять характеристики ,для начала выставите в 2хкратном размере.
Т.е. умножьте стандартные настройки данной конфигурации на 2,и сохраните файл.
5.Прочие конфиги
Кое что влияющее на загрузку проца и памяти.
--------> ЛОГИ
Код:
# ================================================= = ===============
# Конфигурации логов
# ================================================= = ===============
# Настройка логов чата всего мира (true=влючено,false=выключено)
LogChat = False
# Настройка логов сбора дропа,спойла,итемов,ресурсов и прочего.(true=влючено,false=выключено)
LogItems = False
# Настройка логов ГМ-ов,пишит логи всех действий Гмов.(true=влючено,false=выключено)
GMAudit = True
-------> Чем меньше это значение, тем меньше нагрузки на процессор.
Код:
MaxDriftRange = 0
-------> установка в false может улучшить работу серверов с высокими рейтами
Код:
PreciseDropCalculation = False
# Данная настройка это эксперементальная синхронизация между Клиентскими <-и-> Серверными координатами игрока,
# 0 - нет синхронизации ВООБЩЕ !!!
# 1 - Частичная синхронизация от клиента -к-> серверу
# 2 - Частичная синхронизация от Сервера -к-> клиенту
# 3 - Полная синхронизация Клиента <-и-> Сервера
# -1 - Старая система синхронизации: Только по оси Z
CoordSynchronize = -1
6.Стартовые файлы.
Теперь поговорим о выделении памяти под ява процессы.
Есть не сколько фактов которые вы должны знать:
1. Если у вас 32х битная ява, не выставляйте значения для xmx and xms больше 1536 мегабайт.
2. Параметр –server можно выставлять при условии, что у вас двухядерный процессор и оперативы больше 2 гигабайт.
Код:
-Xmx4096m-Xms2048m-Xmn1024m-XX:PermSize=256m
Данный параметр указывает на то, что ваш компьютер может использовать максимум 4 гигабайта для сервера,и минимум 256. Вы должны отредактировать данные настройки под свой компьютер. Если у вас есть мощный сервер и много оперативной памяти, вы можете эксперементировать над данными конфигами.
На моём сервере всё работает прекрасно, поэтому я не менял данный конфиг.
Код:
startgameserver.bat
title Game Server Console
:start
echo Starting L2J Game Server.
echo.
REM -------------------------------------
REM Default parameters for a basic server.
REM java -Xmx1024m -cp ./../libs/*;l2jserver.jar net.sf.l2j.gameserver.GameServer
REM
REM If you have a big server and lots of memory, you could experiment for example with
java -server -Xmx4096m -Xms2048m -Xmn1024m -XX:PermSize=256m -XX:SurvivorRatio=8 -Xnoclassgc -XX:+AggressiveOpts -cp ./../libs/*;l2jserver.jar net.sf.l2j.gameserver.GameServer
REM -------------------------------------
Надеюсь, что Вам это поможет!
Удачной вам работы над серверами Lineage 2.
и еще все файли нужные для создания сервера можно скачать здесь http://la2base.ru
Добавлено через 8 минут
птимизация Java Lineage 2 сервера для онлайна в 1000 человек.
Статья актуальная для Windows 2003!
1.Системные требования/ОС
Чаще всего под сервер используется железо типа Core2Duo с 2-4 гигами оперативной памяти.
Для онлайна в 1000 человек этого мало. Я рекомендую брать серверные решения , например у меня стоит:
Код:
Процессор: Quad Core Xeon 3220 - 2.40GHz (Kentsfield) - 2 x 4MB cache
Оперативная память: 8 GB DDR2 667
Жёсткий диск: 73GB SA-SCSI,15000 скорость оборотов дисков(RPM)
2-ой Жёсткий диск: 73GB SA-SCSI,15000 скорость оборотов дисков(RPM)
Internet: 1000mbit
Windows: Windows server 2003 64bit RC2
Не так важен процессор для сервера как его харддиски.
Для онлайна в 1к человек, нужно ставить SAS или SCSI диски со скоростью вращения шпинделя 15к. У меня на данный момент стоят два таких жёстких диска.
На первом у меня Windows и программы.
На втором база данных сервера. Всегда держите базу данных на отдельном диске!
Оптимальный объем оперативы 6 гигабайт.
Для сервера нужен хороший интернет, 100мегабитного канала хватит.
Я рекомендую использовать Windows Server 2003 64 bit. В 64битной версии MYSQL и JAVA работают быстрее и можно больше выделить памяти серверу и базе. Но об этом позже.
2.Windows Server 2003 x64
Ну чтож, считаем что у нас есть хорошая серверная машина с Windows 2003.
Windows изначально выделяет больше оперативы внутренним службам, работающим в фоновом режиме. И это надо менять:
Код:
1.Нажмите правой кнопкой мыши на мой компьютер и выберите Свойства
2.Кликните на вкладку "Дополнительно"
3.Вы увидите окошко Быстродействие с кнопкой «Параметры» Нажмите на нее. (Новое окно)
4.Кликните на вкладку "Дополнительно"
5.В данном окне щёлкните на вкладку Дополнительно.
6.Тут вы видите «Распределение времени процессора и использование памяти» поставьте везде «Программ».
Теперь мощности распределяются правильно. Нам нужно выделить больше виртуальной памяти под систему.
Код:
1.Нажмите правой кнопкой мыши на мой компьютер и выберите Свойства (появится новое окно)
2.Кликните на вкладку "Дополнительно"
3.Вы увидите окошко Быстродействие с кнопкой «Параметры» Нажмите на нее. (Новое окно)
4.Кликните на вкладку "Дополнительно"
6.В самом низе раздел "Виртуальная память",в данном разделе нажмите изменить.
7.Появится новое окно,в данном окне выберите свой жёсткий диск,
где у вас стоит ваш сервер,когда выбрали диск с сервером,
то чуть ниже выберите "Размер файла подкачки для выбранного диска",выберите пункт "Особый размер".
8.Появятся два окошечка для ввода:
Исходный размер(Мб):
Максимальный размер(Мб):
В данных полях вы вводите количество общей оперативной памяти делённой на 1,5
Т.е. в данный момент у меня 8,5 гигабайт оперативной памяти,я делю 8500 на 1,4
Получается примерное значение: 6100 гигабайт
Данное примерное значение вводим в обоих окнах:
Исходный размер(Мб): 6100
Максимальный размер(Мб): 6100
Проверьте что вы поделили верно и вписали в оба окна,одинаковые значения.
После чего нажмите Ok.
9.Закройте все окна и перезагрузите компьютер.
Если есть пустой хард, то советую использовать его под файл подкачки.
На этом настройка на данном этапе закончена.
3.MySql
Внимание настройки конфигурация производятся в файле конфигурации mysql: my.ini
Жизненно необходима настройка мускула, иначе лаги начнутся уже при онлайне в 300 человек.
Хотя я и не спец по мускулу, но пару советов дам.
Я буду показывать части из моих конфигурационных файлов mysql, для наглядности.
Несмотря на то, что mysql требует много оперативной памяти, ее нужно выделять с умом!
Иначе вы получите переполенный буфер и как следствие лаги!
Вам нужно всегда знать, сколько весит ваша база данных, и регулярно менять размер потребления ею оперативны.
Пример: Моя база данных весит 200 МБ, потому устанавливаю размер оперативной памяти на 512МБ.
Отключите ваш Мускул перед любыми настройками.
Текст типа --------> чтото умное <-------- мои комментарии.
Для начала проверим предустановки:
Находим в файле my.ini строчку:
default-storage-engine=INNODB
Если данной строчки нету, значит ищем :
default-storage-engine=
Пояснение:
default-storage-engine- Указывает какой движок использован для создания таблиц mysql .
INNODB-стандартная,версия движка для создания таблиц mysql
--------> Максимальное количество коннектов к mysql.
Код:
# Максимальное количество конкурирующих сессий сервер MYSQL будет
# позволять подсоединяться. Одна из этих связей будет резервироваться для потребителя с
# наивысшими привилегиями, т.е. для администратора, даже если
# предел связи был достигнут.
max_connections=600
-------->Оптимально поставить: 500-600 для онлайна в 500-600 человек.
-------->Это нужно установить на значение 0,так как это не используется в l2j серверах и только замедляет работу сервера.
Код:
# Данная опция подаёт запрос на кеширование сервера в оперативную память и количество памяти для к
кэширования.1=включено,0=выключено.
query_cache_size=0
------> Если ваши таблицы становятся большими, нужно поставить более большее значение чем есть,т.е. если ваша таблица весит 200 мб,то нужно поставить в 2 раза больше т.е. 512.
Код:
table_cache=256
---------> Это дополнительная память которая выделяется для таблиц в случае если они больше указанного значения table_cache,настройка на 8mb более чем достаточно
Код:
innodb_additional_mem_pool_size=8M
------>Хз для чего нужная эта фишка, тестить не хочу.
------>Но знаю точно что выставив 0 будут проблемы с I/O spikes
------>Потому юзаю "2"
Код:
# If set to 1, InnoDB will flush (fsync) the transaction logs to the
# disk at each commit, which offers full ACID behavior. If you are
# willing to compromise this safety, and you are running small
# transactions, you may set this to 0 or 2 to reduce disk I/O to the
# logs. Value 0 means that the log is only written to the log file and
# the log file flushed to disk approximately once per second. Value 2
# means the log is written to the log file at each commit, but the log
# file is only flushed to disk approximately once per second.
innodb_flush_log_at_trx_commit=2
------->Нет смысла ставить больше 16мегов.
Код:
The size of the buffer InnoDB uses for buffering log data. As soon as
# it is full, InnoDB will have to flush it to disk. As it is flushed
# once per second anyway, it does not make sense to have it very large
# (even with long transactions).
innodb_log_buffer_size=16M
--------> Если на сервере есть свободная оперативная память, то здесь можно увеличивать значения, что благотворно скажется для базы. В моем случае достаточно 1024 мб.
Код:
# InnoDB, unlike MyISAM, uses a buffer pool to cache both indexes and
# row data. The bigger you set this the less disk I/O is needed to
# access data in tables. On a dedicated database server you may set this
# parameter up to 80% of the machine physical memory size. Do not set it
# too large, though, because competition of the physical memory may
# cause paging in the operating system. Note that on 32bit systems you
# might be limited to 2-3.5G of user level memory per process, so do not
# set it too high.
innodb_buffer_pool_size=1024M
----------> Я всегда выставляю тут половину от моего innodb_buffer_pool_size.
----------> Помни, если менять этот конфиг, то нужно выключить мускул и удалить логи.
----------> Логи находятся : MySQL Server 5.0\data
----------> удалите ib_logile0 and ib_logfile1
Код:
# Size of each log file in a log group. You should set the combined size
# of log files to about 25%-100% of your buffer pool size to avoid
# unneeded buffer pool flush activity on log file overwrite. However,
# note that a larger logfile size will increase the time needed for the
# recovery process.
innodb_log_file_size=512M
--------->Данные настройки зависят напрямую от мощности вашего проца.
--------->Будьте очень осторожны меняя тут значения. Двигайтесь потихоньку. Если процессор как у меня, то смело выставляйте «60»
Код:
# Number of threads allowed inside the InnoDB kernel. The optimal value
# depends highly on the application, hardware as well as the OS
# scheduler properties. A too high value may lead to thread thrashing.
innodb_thread_concurrency=60
-----> Делаем что бы мускул кушал только оперативку вместо файла подкачки.
Код:
memlock
-----> создается отдельная таблица для каждого файла. это создает хорошее повышение производительности сервера
-----> Помните если вы что либо изменили в конфигурации mysql,то вам нужно заново импортировать все таблицы/файлы в mysql.
-----> Создайте базу с таким название и оставьте её пустой.
Код:
Название:
innodb_file_per_table
Хорошо я разъяснил все, что касаться mysql. Я рекомендую купить отдельный хард под базу данных. Это позволит повысить производительность.
Поехали дальше.
ЯндексДирект
Дать объявление
4.L2j Threadpool config
Настройка в конфигурации сервера.
Итак мы на финишной прямой, для начала нужно оптимизировать настройки threadpool .
В данном конфиге определяются сколько потоков может быть создано. Эти параметры всегда были загадкой для меня.
Менять данные параметры можно при условии, что у вас мощной процессор, иначе даже не пытайтесь.
Мне подходят значения в 5тикратном размере от стандартных.
Начните со стандартных значений и посмотрите как это работает.
И потом начинайте медленно изменять характеристики ,для начала выставите в 2хкратном размере.
Т.е. умножьте стандартные настройки данной конфигурации на 2,и сохраните файл.
5.Прочие конфиги
Кое что влияющее на загрузку проца и памяти.
--------> ЛОГИ
Код:
# ================================================= = ===============
# Конфигурации логов
# ================================================= = ===============
# Настройка логов чата всего мира (true=влючено,false=выключено)
LogChat = False
# Настройка логов сбора дропа,спойла,итемов,ресурсов и прочего.(true=влючено,false=выключено)
LogItems = False
# Настройка логов ГМ-ов,пишит логи всех действий Гмов.(true=влючено,false=выключено)
GMAudit = True
-------> Чем меньше это значение, тем меньше нагрузки на процессор.
Код:
MaxDriftRange = 0
-------> установка в false может улучшить работу серверов с высокими рейтами
Код:
PreciseDropCalculation = False
# Данная настройка это эксперементальная синхронизация между Клиентскими <-и-> Серверными координатами игрока,
# 0 - нет синхронизации ВООБЩЕ !!!
# 1 - Частичная синхронизация от клиента -к-> серверу
# 2 - Частичная синхронизация от Сервера -к-> клиенту
# 3 - Полная синхронизация Клиента <-и-> Сервера
# -1 - Старая система синхронизации: Только по оси Z
CoordSynchronize = -1
6.Стартовые файлы.
Теперь поговорим о выделении памяти под ява процессы.
Есть не сколько фактов которые вы должны знать:
1. Если у вас 32х битная ява, не выставляйте значения для xmx and xms больше 1536 мегабайт.
2. Параметр –server можно выставлять при условии, что у вас двухядерный процессор и оперативы больше 2 гигабайт.
Код:
-Xmx4096m-Xms2048m-Xmn1024m-XX:PermSize=256m
Данный параметр указывает на то, что ваш компьютер может использовать максимум 4 гигабайта для сервера,и минимум 256. Вы должны отредактировать данные настройки под свой компьютер. Если у вас есть мощный сервер и много оперативной памяти, вы можете эксперементировать над данными конфигами.
На моём сервере всё работает прекрасно, поэтому я не менял данный конфиг.
Код:
startgameserver.bat
title Game Server Console
:start
echo Starting L2J Game Server.
echo.
REM -------------------------------------
REM Default parameters for a basic server.
REM java -Xmx1024m -cp ./../libs/*;l2jserver.jar net.sf.l2j.gameserver.GameServer
REM
REM If you have a big server and lots of memory, you could experiment for example with
java -server -Xmx4096m -Xms2048m -Xmn1024m -XX:PermSize=256m -XX:SurvivorRatio=8 -Xnoclassgc -XX:+AggressiveOpts -cp ./../libs/*;l2jserver.jar net.sf.l2j.gameserver.GameServer
REM -------------------------------------
Надеюсь, что Вам это поможет!
Удачной вам работы над серверами Lineage 2.
ZeroS для http://forum.zone-game.info
и еще все нужные файлы можно найти здесь la2base.ru
Последний раз редактировалось rufat, 08.08.2009 в 07:19.
Причина: Добавлено сообщение
Этот пользователь сказал Спасибо rufat за это полезное сообщение:
Изменение грейда вещей из Non-Grade в S-Grade и обратно.
Изменение грейда вещей из Non-Grade в S-Grade и обратно.
Очередной познавательный мануал который поможет вам изменить грейд оружия или брони на тот что вам нужен.
В данной статье я использовал FileEdit который можно взять в этой новости : FileEdit для Hellbound - Gracia. Все это займёт очень мало времени, но если вы этого не знали то у вас бы заняло очень много времени на поиск и изменение этих данных.
Запускаем FileEdit и теперь нужно выбрать какую категорию предметов вы хотите редактировать, их есть две :
1. В armorgrp.dat - редактируем грейд брони и сетов.
2. В weapongrp.dat - редактируем грейд оружия.
Давайте рассмотрим первую категорию, а именно редактирования грейда брони и сетов в файле armorgrp.dat.
Открываем FileEdit-ом файл armorgrp.dat который находится "Ваш диск:\Ваш путь\Lineage2\system\".
Перед нами появилось много всякого вкусного Осталось только выбрать нужную броню, кстати удобно смотреть по ID самой брони. Я выбрал случайную :
Обратите внимание на последние значения : 1 0 2 4 0 107 0 0 я выделил значение (4), то что отвечает за грейд брони.
Переходим ко второй части нашей статьи.
Вторая категория относится к редактированию weapongrp.dat что отвечает за оружие.
И так приступим, запускаем FileEdit и открываем weapongrp.dat который находится всё там же "Ваш диск:\Ваш путь\Lineage2\system\".
И опять перед нами много строк, выбераем нужную, например по ID. Я выбрал Хомку (Homunkuluss Sword)
Теперь нам всё стало ясно и понятно, значит первый пример тоесть броня под ID 5288 относится к пятому пункту, тоесть A-Grade, а наша Хомка к третьему, тоесть C-Grade.
Важно! Что бы узнать ID достаточно глянуть на второе значение в строке. Пример с Хомкой : 0 84 выделил ID Хомки.
На этом всё! Удачи вам в редактировании клиента Lineage 2 и в ваших эксперементах с ним.
Добавлено через 1 минуту
Написание GM-Shop на Multisell
Есть у нас на форуме старая статья о выполнении этого магазина, но она уже устарела и многие при создании «GM-Shop» сталкивались с проблемами, так как структура «.XML» за это время немного поменялась. Сейчас мы рассмотрим все шаги создания нашего магазина для серверов L2jServer замечательной игры Lineage 2 .
Первым делом нужно выбрать нужного нам NPC, который выступит в роли продавца брони, оружия и бижутерии. Конечно, я не буду наполнять магазин по завязку всяким оружием, это сделаете вы, а я лишь покажу, как это нужно делать. Я выбрал для своего магазина NPC «Andromeda», конечно вы можете выбрать любого другого.
Вот запрос на создание нашего NPC:
Этим запросом мы создадим NPC с именем «Okay», который вы сможете сразу же заспавнить в любом удобном месте, введя в чат команду «//spawn 50000». Для выполнения этих действий нам не нужно выключать сервер, а просто ввести команду «//reload npc» для считывания таблицы NPC.
Как вы заметили, NPC при попытке заговорить с ним выдает нам пустое окно с надписью о том, что файл диалога не найден.
На рисунке мы отчетливо видим, где нужно создать файл, а так же имя этого файла. Давайте создадим файл 50000.htm. Для этого дела можно использовать простой блокнот, но я как всегда выбрал Notepad++. Текст нашего диалога следующий:
<html><body>Okay - Supermarket<br>
Приветствую тебя странник!<br>
У меня есть для тебя дивные товары, которые я продаю по очень низким ценам. Благодаря этому, меня знают как лучшего продавца во всей округе.<br>
Чего желаешь купить?</body></html>
Этот текст сохраняем в кодировке UTF-8 и с именем файла 50000.htm и помещаем его в каталог gs/data/html/merchant/ теперь перегрузите диалоги командой «//reload htm» и обратитесь к нашему NPC, который понемногу становится GM-Shop. Как вы видите, теперь у NPC есть диалог,
И так, нам осталось лишь создать multisell в котором будут указаны наши товары и их цены. Для его написания вам потребуется блокнот или любой другой текстовый редактор. Как я говорил, описывать полный список всего оружия не буду, а лишь приведу пример того, как его добавлять. Создайте файл 50000.xml и напишите в нем следующий текст:
После этого сохраните файл 50000.xml в каталог gs/data/multisell/. Все, можно тестировать ваш первый GM-Shop, но у нас ведь нет ссылки на «товар» с диалога продавца, откройте файл 50000.htm (тот, что мы создавали ранее) и впишите снизу следующий текст:
Вот, теперь-то вы видите, что мы обращаемся к нашему «товару», который находится в 50000.xml. Не забудьте перегрузить диалоги командой «//reload htm». После этого, при обращении к NPC в диалоге будет ссылка на «Мечи» (он у нас там один). Я вам для примера того, как добавить больше мечей дописал multisell до следующего состояния:
Теперь немного пояснений. Первый меч id, которого 125 (в теге <item id=1></item>) у нас продается за 50000 аден. Второй мечь id, которого 126 мы продаем за 10000 аден, но помимо самих аден, мы требуем меч с id 125, который продается выше. Так можно создать, например обмен устаревшего оружия на более новое, мощное и т.д.
В третьем примере, мы видим продажу меча с id 127 за 55000 аден, но помимо самого меча, мы получаем еще и Soul Shots D Grade в количестве 1000 штук, которые подходят к нашему оружию.
Вот и все, дальше можете создавать свои списки оружия, предметов и т.д. Правда хочется еще раз вернуться к multisell и пояснить некоторые детали. Я вам ниже приведу, теги и их атрибуты, которые вы сможете использовать при создании Gm-Shop для ваших серверов.
• item id= - это номер нашего предмета в списке. Каждый предмет, должен иметь свой id.
• ingredient – это то, что мы требуем взамен нашему предмету.
• production – это то, что мы получаем взамен ingredient.
• id – предмет который мы продаем и который мы требуем.
• count – количество предметов которые мы получаем или отдаем.
Два последних атрибута применимы к тегам «ingredient» и «production». Также у многих возникают проблемы, типа создал multisell, а GM-Shop продает совершенно другие вещи. Это от того, что вы пропустили закрывающий слеш одно из тегов «/>». Бывает, что вы создали multisell, видите список товаров, а при покупке любого из них вы покупаете только тот, что первый в списке. Эта ошибка из-за не внимательности, я же написал, что каждый новый предмет должен иметь свой id, пример:
Если редактируете multisell (50000.xml), то для этого не нужно перезагружать сервер, а просто введите команду «//reload multisell». Что- что, но команды вы должны знать, так что запоминайте, они вам еще не раз понадобятся.
Для написания мануала я использовал сборку сервера L2jServer и клиент Lineage 2 Gracia Part 2. Если у вас остались вопросы, пожалуйста, задавайте их, я с удовольствием на них отвечу. Скачать готовый GM-Shop для сервера Lineage 2, можно с нашего сайта.
Последний раз редактировалось rufat, 08.08.2009 в 07:52.
Причина: Добавлено сообщение
Этот пользователь сказал Спасибо rufat за это полезное сообщение:
Есть у нас на форуме старая статья о выполнении этого магазина, но она уже устарела и многие при создании «GM-Shop» сталкивались с проблемами, так как структура «.XML» за это время немного поменялась. Сейчас мы рассмотрим все шаги создания нашего магазина для серверов L2jServer замечательной игры Lineage 2 .
Первым делом нужно выбрать нужного нам NPC, который выступит в роли продавца брони, оружия и бижутерии. Конечно, я не буду наполнять магазин по завязку всяким оружием, это сделаете вы, а я лишь покажу, как это нужно делать. Я выбрал для своего магазина NPC «Andromeda», конечно вы можете выбрать любого другого.
Вот запрос на создание нашего NPC:
Этим запросом мы создадим NPC с именем «Okay», который вы сможете сразу же заспавнить в любом удобном месте, введя в чат команду «//spawn 50000». Для выполнения этих действий нам не нужно выключать сервер, а просто ввести команду «//reload npc» для считывания таблицы NPC.
Как вы заметили, NPC при попытке заговорить с ним выдает нам пустое окно с надписью о том, что файл диалога не найден.
На рисунке мы отчетливо видим, где нужно создать файл, а так же имя этого файла. Давайте создадим файл 50000.htm. Для этого дела можно использовать простой блокнот, но я как всегда выбрал Notepad++. Текст нашего диалога следующий:
<html><body>Okay - Supermarket<br>
Приветствую тебя странник!<br>
У меня есть для тебя дивные товары, которые я продаю по очень низким ценам. Благодаря этому, меня знают как лучшего продавца во всей округе.<br>
Чего желаешь купить?</body></html>
Этот текст сохраняем в кодировке UTF-8 и с именем файла 50000.htm и помещаем его в каталог gs/data/html/merchant/ теперь перегрузите диалоги командой «//reload htm» и обратитесь к нашему NPC, который понемногу становится GM-Shop. Как вы видите, теперь у NPC есть диалог,
И так, нам осталось лишь создать multisell в котором будут указаны наши товары и их цены. Для его написания вам потребуется блокнот или любой другой текстовый редактор. Как я говорил, описывать полный список всего оружия не буду, а лишь приведу пример того, как его добавлять. Создайте файл 50000.xml и напишите в нем следующий текст:
После этого сохраните файл 50000.xml в каталог gs/data/multisell/. Все, можно тестировать ваш первый GM-Shop, но у нас ведь нет ссылки на «товар» с диалога продавца, откройте файл 50000.htm (тот, что мы создавали ранее) и впишите снизу следующий текст:
Вот, теперь-то вы видите, что мы обращаемся к нашему «товару», который находится в 50000.xml. Не забудьте перегрузить диалоги командой «//reload htm». После этого, при обращении к NPC в диалоге будет ссылка на «Мечи» (он у нас там один). Я вам для примера того, как добавить больше мечей дописал multisell до следующего состояния:
Теперь немного пояснений. Первый меч id, которого 125 (в теге <item id=1></item>) у нас продается за 50000 аден. Второй мечь id, которого 126 мы продаем за 10000 аден, но помимо самих аден, мы требуем меч с id 125, который продается выше. Так можно создать, например обмен устаревшего оружия на более новое, мощное и т.д.
В третьем примере, мы видим продажу меча с id 127 за 55000 аден, но помимо самого меча, мы получаем еще и Soul Shots D Grade в количестве 1000 штук, которые подходят к нашему оружию.
Вот и все, дальше можете создавать свои списки оружия, предметов и т.д. Правда хочется еще раз вернуться к multisell и пояснить некоторые детали. Я вам ниже приведу, теги и их атрибуты, которые вы сможете использовать при создании Gm-Shop для ваших серверов.
• item id= - это номер нашего предмета в списке. Каждый предмет, должен иметь свой id.
• ingredient – это то, что мы требуем взамен нашему предмету.
• production – это то, что мы получаем взамен ingredient.
• id – предмет который мы продаем и который мы требуем.
• count – количество предметов которые мы получаем или отдаем.
Два последних атрибута применимы к тегам «ingredient» и «production». Также у многих возникают проблемы, типа создал multisell, а GM-Shop продает совершенно другие вещи. Это от того, что вы пропустили закрывающий слеш одно из тегов «/>». Бывает, что вы создали multisell, видите список товаров, а при покупке любого из них вы покупаете только тот, что первый в списке. Эта ошибка из-за не внимательности, я же написал, что каждый новый предмет должен иметь свой id, пример:
Если редактируете multisell (50000.xml), то для этого не нужно перезагружать сервер, а просто введите команду «//reload multisell». Что- что, но команды вы должны знать, так что запоминайте, они вам еще не раз понадобятся.
Для написания мануала я использовал сборку сервера L2jServer и клиент Lineage 2 Gracia Part 2. Если у вас остались вопросы, пожалуйста, задавайте их, я с удовольствием на них отвечу. Скачать готовый GM-Shop для сервера Lineage 2, можно с нашего сайта.
Добавлено через 2 минуты
Мануал по редактированию текстур
Итак, редактирование текстур lineage 2. Для чего это нужно? Ну например вам не нравиться как выглядит скажем авадон маг сет… Смело открываем текстуру, перекрашиваем\заменяем под себя и вуаля, новая текстурка для сета готова. Также кроме текстур одежды можно менять абсолютно любые текстуры в игре, будь то кнопочки и окошки оформления ,лицо персонажа, либо картинка при входе в мир.
Для редактирования и замены текстур нам понадобятся следущие программы:
1)Программа UT Package Tool v2.0 beta 5 (сокращенно UTPT)-для просмотра и вытаскивания нужных текстур.
2)Программа l2decrypt - для кодирования и декодирования файлов
3)Программа l2tool - для замены отредактированных текстур в файлах *.utx
4)Плагин Photoshop DDS - для открытия и редактирования файлов DDS в Photoshop.
Все текстуры храняться в файлах с расширением .utx Для примера я возьму файлик L2Font-e.utx из папки Systextures. Именно в нем хранится картинка, которую мы видим, когда нажали кнопку войти в игру.
Все нужное находим в гугле/яндексе, устанавливаем плагин к Photoshop и приступаем к работе непосредственно над файлом.
Копируем файл, над которым будем работать в папку с распакованными программами (в нашем случае это L2Font-e.utx)
1. Перетаскиваем файл L2Font-e.utx на exe-шник l2decrypt. Откроется окошко утилиты и начнется процесс декодирования (займет пару секунд), после чего у нас в папке появится файл L2Font-e.clear.utx
2. Запускаем UTPT и открываем наш файлик L2Font-e.utx (не L2Font-e.clear.utx!!!). В свитке Skins ищем нашу заставку, это текстура loading02-e и сохраняем в формате DDS в нашу папку.
3. Запускаем фотошоп и открываем извлеченную DDS текстуру (мы ведь уже поставили плагин к фотошопу?). Тут уже дело вашей фантазии что вы сделаете с текстурой, можете написать на ней здесь был Вася, заменить другой картинкой, либо еще что-то.
4. Теперь , когда текстура изменена, нужно сохранить ее обратно в DSS формат. В Photoshop жмем File-> save as, откроется окно сохранения, выбираем DDS (*.DDS), после чего откроется окошко ”Nvidia DDS format”. Дальше смотрите по скрину.
- Ставим параметр save format на DXT3 ARGB(Explicit Alpha)
- Ставим галочку generate MIP maps с значением 1.
- Ставим галочку 2D texture. Жмем пимпу Save
5. Запускаем la2tool, не пугаемся, она на корейском языке, и если у вас не стоит поддержка иероглифов то вы увидите кракозябры вместо них. Далее по пунктам
- Открываем тут файл L2Font-e.utx
- Открываем тут файл Skins-Skins.loading02-e.dds
- А тут открываем декодированный файл L2Font-e.clear.utx
4. Выбираем нужную текстуру в нижнем окошке (loading02-e) и жмем ”set”. Если появилось окошко с «???????» все нормально, не паникуем.
6. Теперь перетаскиваем файлик L2Font-e.clear.utx на exe-шник l2decrypt (Мы уже делали такое, только мы декодировали файл, а теперь кодируем его обратно. После этих действий должен появится файл L2Font-e.crypt.utx. Теперь удаляем из папки (или фообще) файл L2Font-e.utx, а файл L2Font-e.crypt.utx переименовываем в L2Font-e.utx
7. Основная работа сделана, надо проверить себя, открываем UTPT, в нем открываем только что обновленный файл L2Font-e.utx и смотрим на текстуру loading02-e. Если вы видите текстуру, которую только что делали в фотошопе, мои поздравления, у вас получилось, если нет, перечитываем мануал заново и смотрим где допустили ошибку.
8. Теперь файл L2Font-e.utx кидаем назад в папку lineage2/systextures
9. Запускаем линейку и радуемся, что у вас такая модная картинка и прямые руки =)
Вот и все, таким способом, можно менять все текстуры в игре, методом просмотра файлов из systextures в UTPT вы найдете в каких файлах лежат текстуры оружия, шмота , зданий и т.д.
Последний раз редактировалось rufat, 08.08.2009 в 07:58.
Причина: Добавлено сообщение
Этот пользователь сказал Спасибо rufat за это полезное сообщение: