Release of the build version for x86-64

This commit is contained in:
Alexander Zhirov 2021-12-15 20:53:25 +03:00
commit b30218ee44
42 changed files with 3240 additions and 0 deletions

16
Dockerfile.game Normal file
View File

@ -0,0 +1,16 @@
FROM ubuntu:xenial
RUN apt-get update \
&& apt-get install -y curl \
&& curl -O https://ftp.zhirov.website/program/Games/Lineage_2/server/Docker/x86-64/jre-8u311-linux-x64.tar.gz \
&& tar xfz jre-8u311-linux-x64.tar.gz -C /opt/ \
&& rm jre-8u311-linux-x64.tar.gz \
&& curl -O https://ftp.zhirov.website/program/Games/Lineage_2/server/Docker/x86-64/game.tar.gz \
&& tar xfz game.tar.gz -C /opt/ \
&& rm game.tar.gz
ENV JAVA_HOME /opt/jre1.8.0_311
ENV PATH $PATH:$JAVA_HOME/bin
WORKDIR /opt/game
CMD ["sh", "gs_loop.sh"]

16
Dockerfile.login Normal file
View File

@ -0,0 +1,16 @@
FROM ubuntu:xenial
RUN apt-get update \
&& apt-get install -y curl \
&& curl -O https://ftp.zhirov.website/program/Games/Lineage_2/server/Docker/x86-64/jre-8u311-linux-x64.tar.gz \
&& tar xfz jre-8u311-linux-x64.tar.gz -C /opt/ \
&& rm jre-8u311-linux-x64.tar.gz \
&& curl -O https://ftp.zhirov.website/program/Games/Lineage_2/server/Docker/x86-64/login.tar.gz \
&& tar xfz login.tar.gz -C /opt/ \
&& rm login.tar.gz
ENV JAVA_HOME /opt/jre1.8.0_311
ENV PATH $PATH:$JAVA_HOME/bin
WORKDIR /opt/login
CMD ["sh", "ls_loop.sh"]

97
README.md Normal file
View File

@ -0,0 +1,97 @@
# Сервер Lineage II Chronicle 4: Scions of Destiny (x86-64)
![game](img/game.jpg)
* [Описание сборки](#описание-сборки)
* [Содержание сборки](#содержание-сборки)
* [Локальная версия сборки](#локальная-версия-сборки)
* [Настройки](#настройки)
* [Запуск игрового сервера](#запуск-игрового-сервера)
* [Подключение к серверу](#подключение-к-серверу)
* [Источник](#источник)
## Описание сборки
При запуске `docker-compose.yml` подымаются 4 контейнера:
- `l2login` - сервер авторизации учетных записей игроков
- `l2game` - игровой сервер
- `l2mariadb` - система управления базами данных
- `l2adminer` - менеджер баз данных
### Содержание сборки
- [`Dockerfile.game`](Dockerfile.game) - сборка контейнера **l2game**
- [`Dockerfile.login`](Dockerfile.login) - сборка контейнера **l2login**
- [`l2.sql.gz`](l2.sql.gz) - чистый бэкап базы данных для сервера
- [`config/game`](config/game) - содержит конфигурационные файлы для контейнера **l2game**
- [`config/login`](config/login) - содержит конфигурационные файлы для контейнера **l2login**
### Локальная версия сборки
Для использования локальной версии сборки использовать подготовленный [архив](https://ftp.zhirov.website/program/Games/Lineage_2/server/Docker/x86-64.tar.gz).
### Настройки
В конфигурационных файлах
```
config/game/network/database.properties
config/login/network/database.properties
```
по умолчанию указана база данных с именем `l2db` (которую нужно будет создать после запуска стека). Подключение происходит по имени контейнера `l2mariadb` в общей сети (для всех контейнеров) `l2_net`. \
Пользователь для подключения к базе данных по умолчанию `root`, пароль (по умолчанию - `password`) необходимо сменить на свой, сделать это во всех трёх файлах:
```
config/game/network/database.properties
config/login/network/database.properties
docker-compose.yml
```
В файле
```
config/game/network/game.properties
```
`LoginHost` ссылается на контейнер `l2login` вместо IP-адреса. \
`ExternalHostname` для публичного (белого) IP-адреса, выданного провайдером - для игры через интернет. \
`InternalHostname` для IP-адреса ПК/сервера в локальной сети, на котором поднят стек серверов - для игры по локальной сети.
Остальные настройки по усмотрению.
## Запуск игрового сервера
1. `git clone https://git.zhirov.website/alexander/lineage-2-server.git`
2. Сконфигурировать файлы в `config` и/или `docker-compose.yml`
2. `docker-compose build .`
3. `docker-compose up -d`
4. Открыть в браузере `IP-адрес:8081`, по умолчанию `127.0.0.1:8081`. Первый запуск контейнера `l2mariadb` будет долгим, нужно подождать перед авторизацией
![L2 File Editor](img/login_db.png)
5. Авторизоваться на сервере `l2mariadb` с учетными данными (возможно измененными) `root:password`
6. Создать базу данных `l2db`
![L2 File Editor](img/create_db.png)
7. Загрузить бэкап с файла `l2.sql.gz`
![L2 File Editor](img/import_backup.png)
8. Перезапустить стек серверов `docker-compose restart`
## Подключение к серверу
Для подключения к серверу необходимо иметь правильно-сконфигурированный файл `l2.ini`, который находится в игровой директории `system`. Для редактирования данного файла использовать утилиту [L2 File Editor](https://github.com/L2Miko/L2FileEdit) ([другой источник](https://ftp.zhirov.website/program/Games/Lineage_2/L2FileEdit-master.zip)). **ВАЖНО!** Для редактирования файла необходимо, чтобы в путях использования самой программы и файла отсутствовали символы кириллицы, иначе программа будет выдавать ошибку декодирования.
![L2 File Editor](img/l2_file_editor.png)
1. Путь без символов кириллицы (возможно и без использования символов отступа)
2. Файл `l2.ini` из игровой директори `system`
3. Указать глобальный или локальный IP-адрес игрового сервера
## Источник
Данная Docker-сборка основана на сборке сервера с сайта [vlemon.info](https://www.vlemon.info/article/934-sozdanie-servera-lineage-2-scions-of-destiny-c4.html). Приветствуется апгрейд/улучшение данной Docker-сборки.

View File

@ -0,0 +1,480 @@
# =========================================== #
# L2Build Dev. Team #
# =========================================== #
# =========================================== #
# Настройки администраторов
# =========================================== #
# Выдавать всем вошедшим в игру права админа
EverybodyHasAdminRights = false
# Наказывать игрока если тот купил предмет за 0 аден
OnlyGMItemsFree = true
# Красить ник ГМам?
GMNameColorEnabled = true
# Цвет ника у Админов
AdminNameColor = 00FF00
# Цвет ника у ГМов
GMNameColor = FFCC00
# Хиро аура у админов
GMHeroAura = false
# Делать админов неуязвимыми
GMStartupInvulnerable = false
# Делать админов невидимыми
GMStartupInvisible = false
# Отказ от сообщений при входе в игру
GMStartupSilence = false
# Показывать админов и гмов в /gmlist
GMStartupAutoList = true
# Альтернативные привилегии для ГМов
AltPrivilegesAdmin = false
AltPrivilegesSecureCheck = true
AltPrivilegesDefaultLevel = 100
# Разрешить игрокам писать петиции ГМам
PetitioningAllowed = true
# Макс. кол-во петиций для одного игрока
MaxPetitionsPerPlayer = 5
# Макс. кол-во петиций за сутки
MaxPetitionsPending = 25
# Логгировать действия ГМов
GMAudit = false
# =========================================== #
# Configure GM AccessLevels
# =========================================== #
GMAccessLevel = 100
GMMinLevel = 100
GMCanAnnounce = 100
GMCanBan = 100
GMCanBanChat = 100
GMCanShop = 100
GMCanDelete = 100
GMCanKick = 100
GMMenu = 100
GMGodMode = 100
GMCanEditChar = 100
GMCanEditCharOther = 100
GMCanViewChar = 100
GMCanEditNPC = 100
GMCanViewNPC = 100
GMCanTeleport = 100
GMCanTeleportOther = 100
GMCanRestart = 100
GMMonsterRace = 100
GMRider = 100
GMFastUnstuck = 100
GMResurectFixed = 100
GMEnchant = 100
GMDoor = 100
GMRes = 100
GMPeaceAttack = 100
GMHeal = 100
GMUnblock = 100
GMCache = 100
GMTalkBlock = 100
GMTest = 100
# Disable Transaction
# false = Transaction enable for GM
# Max,Min = Transaction disable for this range
GMDisableTransaction = false
# Alternative Configure GM commands access level
#
# This file only read if "AltPrivilegesAdmin = true"!!!
#
# Information:
# 1) If AltPrivilegesSecureCheck = true
# Every commands need a entry in this file, else the command cannot be executed.
# else if a command haven't got a entry in this file the minimun access level is
# AltPrivilegesDefaultLevel (default = 100)
# 2) Some commands need a correct access level on GM Access table too, like:
# the commands contained into AdminEditChar.java,AdminEditNpc.java,AdminSpawn.java files
admin_admin = 100
admin_admin2 = 100
# =========================================== #
# COMMON COMMANDS
# =========================================== #
admin_delete = 100
admin_gmshop = 100
admin_heal = 75
admin_help = 75
admin_vis = 75
admin_invis = 75
admin_invul = 75
admin_setinvul = 100
admin_kill = 75
admin_res = 75
admin_silence = 75
admin_target = 75
# =========================================== #
# CHAR MANAGEMENT
# =========================================== #
admin_ban = 100
admin_banchat = 75
admin_jail = 100
admin_character_disconnect = 75
admin_kick = 75
admin_unban = 100
admin_unbanchat = 75
admin_unjail = 100
# =========================================== #
# CLAN HALL
# =========================================== #
admin_clanhall = 100
admin_clanhalldel = 100
admin_clanhallset = 100
admin_clanhallopendoors = 100
admin_clanhallteleportself = 100
# =========================================== #
# ANNOUNCEMENT
# =========================================== #
admin_add_announcement = 100
admin_announce = 75
admin_announce_announcements = 75
admin_announce_menu = 75
admin_del_announcement = 100
admin_list_announcements = 75
admin_reload_announcements = 100
# =========================================== #
# RELOAD COMMANDS
# =========================================== #
admin_cache_htm_rebuild = 100
admin_cache_htm_reload = 100
admin_cache_crest_fix = 100
admin_cache_crest_rebuild = 100
admin_cache_crest_reload = 100
admin_quest_reload = 100
admin_teleport_reload = 100
admin_spawn_reload = 100
admin_zone_reload = 100
# script-load (as opposed to reload) can be dangerous...use with caution
admin_script_load = 1000
# =========================================== #
# DOOR CONTROL
# =========================================== #
admin_close = 75
admin_closeall = 100
admin_open = 75
admin_openall = 100
# =========================================== #
# CHAR MODIFICATION
# =========================================== #
admin_add_exp_sp = 100
admin_add_exp_sp_to_character = 100
admin_add_level = 100
admin_set_level = 100
admin_character_list = 75
admin_current_player = 75
admin_edit_character = 100
admin_find_character = 75
admin_nokarma = 100
admin_rec = 75
admin_repair = 75
admin_restore = 75
admin_setew = 100
admin_setkarma = 100
admin_save_modifications = 100
admin_setcolor = 75
admin_setname = 100
admin_setsex = 100
admin_settitle = 75
admin_show_characters = 75
admin_diet = 75
admin_fullfood = 75
# =========================================== #
# EDIT NPC
# =========================================== #
admin_edit_npc = 100
admin_save_npc = 100
admin_show_droplist = 100
admin_edit_drop = 100
admin_add_drop = 100
admin_del_drop = 100
admin_showShop = 100
admin_showShopList = 100
admin_addShopItem = 100
admin_delShopItem = 100
admin_box_access = 100
admin_editShopItem = 100
# =========================================== #
# EFFECTS
# =========================================== #
admin_atmosphere = 75
admin_invisible = 75
admin_visible = 75
admin_earthquake = 75
admin_bighead = 100
admin_shrinkhead = 100
admin_gmspeed = 75
admin_unpara_all = 100
admin_para_all = 100
admin_unpara = 100
admin_para = 100
admin_polymorph = 75
admin_polyself = 75
admin_unpolyself = 75
admin_clearteams = 100
admin_setteam_close = 100
admin_setteam = 100
# =========================================== #
# ENCHANT MENU
# =========================================== #
admin_seteh = 100
admin_setec = 100
admin_seteg = 100
admin_setel = 100
admin_seteb = 100
admin_setes = 100
admin_setle = 100
admin_setre = 100
admin_setlf = 100
admin_setrf = 100
admin_seten = 100
admin_setun = 100
admin_setba = 100
admin_enchant = 100
# =========================================== #
# EVENT
# =========================================== #
admin_event = 100
admin_event_new = 100
admin_event_choose = 100
admin_event_store = 100
admin_event_set = 100
admin_event_change_teams_number = 100
admin_event_announce = 100
admin_event_panel = 100
admin_event_control_begin = 100
admin_event_control_teleport = 100
admin_add = 100
admin_event_see = 100
admin_event_del = 100
admin_delete_buffer = 100
admin_event_control_sit = 100
admin_event_name = 100
admin_event_control_kill = 100
admin_event_control_res = 100
admin_event_control_poly = 100
admin_event_control_unpoly = 100
admin_event_control_prize = 100
admin_event_control_chatban = 100
admin_event_control_finish = 100
# =========================================== #
# SERVER SETTINGS
# =========================================== #
admin_server_shutdown = 100
admin_server_restart = 75
admin_server_abort = 75
admin_server_gm_only = 100
admin_server_all = 100
admin_server_max_player = 100
admin_server_list_clock = 100
admin_server_login = 100
# =========================================== #
# MENU
# =========================================== #
admin_char_manage = 75
admin_teleport_character_to_menu = 75
admin_recall_char_menu = 75
admin_goto_char_menu = 75
admin_kick_menu = 75
admin_kill_menu = 100
admin_ban_menu = 100
admin_unban_menu = 100
# =========================================== #
# MOB GROUP
# =========================================== #
admin_mobmenu = 100
admin_mobgroup_create = 100
admin_mobgroup_spawn = 100
admin_mobgroup_unspawn = 100
admin_mobgroup_kill = 100
admin_mobgroup_idle = 100
admin_mobgroup_attack = 100
admin_mobgroup_rnd = 100
admin_mobgroup_return = 100
admin_mobgroup_follow = 100
admin_mobgroup_casting = 100
admin_mobgroup_nomove = 100
admin_mobgroup_attackgrp = 100
admin_mobgroup_invul = 100
admin_mobinst = 100
admin_mobgroup_remove = 100
# =========================================== #
# PATH NODE
# =========================================== #
admin_pn_info = 100
admin_show_path = 100
admin_path_debug = 100
admin_show_pn = 100
admin_find_path = 100
# =========================================== #
# RIDE
# =========================================== #
admin_ride_wyvern = 75
admin_ride_strider = 75
admin_unride_wyvern = 75
admin_unride_strider = 75
admin_unride = 75
# =========================================== #
# SIEGE
# =========================================== #
admin_siege = 100
admin_add_attacker = 100
admin_add_defender = 100
admin_add_guard = 100
admin_list_siege_clans = 100
admin_clear_siege_list = 100
admin_move_defenders = 100
admin_spawn_doors = 100
admin_endsiege = 100
admin_startsiege = 100
admin_setcastle = 100
# =========================================== #
# SKILL
# =========================================== #
admin_show_skills = 100
admin_remove_skills = 100
admin_skill_list = 100
admin_skill_index = 100
admin_add_skill = 100
admin_remove_skill = 100
admin_get_skills = 100
admin_reset_skills = 100
admin_give_all_skills = 100
admin_remove_all_skills = 100
# =========================================== #
# SPAWN
# =========================================== #
admin_mammon_find = 75
admin_mammon_respawn = 75
admin_list_spawns = 75
admin_show_spawns = 75
admin_spawn = 100
admin_spawn_index = 100
admin_spawn_monster = 100
admin_respawnall = 100
admin_unspawnall = 100
# =========================================== #
# TELEPORT
# =========================================== #
admin_show_moves = 75
admin_show_moves_other = 75
admin_show_teleport = 75
admin_teleport_to_character = 75
admin_teleportto = 75
admin_move_to = 75
admin_teleport_character = 75
admin_recall = 75
admin_walk = 75
admin_explore = 75
admin_recall_npc = 100
admin_gonorth = 75
admin_gosouth = 75
admin_goeast = 75
admin_gowest = 75
admin_goup = 75
admin_godown = 75
admin_tele = 75
admin_teleto = 75
# =========================================== #
# TEST COMMANDS
# =========================================== #
admin_known = 100
admin_mp = 100
admin_msg = 100
admin_skill_test = 75
admin_st = 75
admin_stats = 100
admin_test = 100
# =========================================== #
# PETITIONS
# =========================================== #
admin_accept_petition = 75
admin_reject_petition = 75
admin_reset_petitions = 100
admin_view_petition = 75
admin_view_petitions = 75
# =========================================== #
# GM SETTINGS
# =========================================== #
admin_changelvl = 100
admin_gm = 75
admin_gmchat = 75
admin_gmlistoff = 75
admin_gmliston = 75
admin_snoop = 75
# =========================================== #
# MISCELLANEOUS
# =========================================== #
admin_buy = 100
admin_create_item = 100
admin_itemcreate = 100
admin_play_sound = 75
admin_play_sounds = 75
admin_pledge = 100
admin_set = 100
admin_tradeoff = 75
admin_unblockip = 100
# =========================================== #
# GEODATA
# =========================================== #
admin_geo_pos = 100
admin_geo_spawn_pos = 100
admin_geo_can_see = 100
admin_geo_can_move = 100
admin_geoeditor_connect = 100
admin_geoeditor_join = 100
admin_geoeditor_leave = 100
# =========================================== #
# MANOR
# =========================================== #
admin_manor_info = 75
admin_manor_setnext = 100
admin_manor_approve = 100
admin_manor_disable = 100
admin_manor_setmaintenance = 100
admin_manor_save = 75

View File

@ -0,0 +1,359 @@
# =========================================== #
# Java-Build Dev. Team #
# =========================================== #
# Автолут дропа с мобов
AutoLoot = false
# Автолут с рейд и эпик боссов
AutoLootRaids = false
# Автоизучение умений.
# Впишите True для включения, False - для отключения
AutoLearnSkills = false
# Автоизучение умений полученных после 3-й профессии
# Впишите True для включения, False - для отключения
AutoLearn3rdClassSkills = false
# Дистанция на получение опыта в партии. Дефолт - 1600
AltPartyRange = 1600
# Аналогично, от кол-ва человек в партии. Если 2 то 1400
AltPartyRange2 = 1400
# Разрешить понижение уровня персонажа при потере XP
# по умолчанию - включено ('True')
Delevel = true
# Множитель переносимого веса игроком
AltWeightLimit = 1
# Если выключено, урон магией будет наноситься с вероятностью 100%
# по умолчанию - включено ('true')
MagicFailures = true
# Альтернативное окончание атаки (bow, cast, all)
AltGameCancelByHit = cast
# Процент удачного блока щитом.werDef)
AltPerfectShieldBlockRate = 5
# Альтернативный фрахт. Если включено, фрахты могут быть отправлены из любого места.
# Так же можно изменять стоимость фрахта (в аденах) для каждого слота фрахта.
# ВНИМАНИЕ: AltGameFreightPrice НЕ БУДЕТ изменять цену для игрока,
# но с игрока будет взыматься стоимость, указанная здесь.
# Включение альтернативного фрахта (стандартно False)
AltGameFreights = false
AltGameFreightPrice = 1000
# Альтернативный расчет Xp/Sp, если не 0, тогда расчитывается как 2^((mob.level-player.level) / coef),
# Несколько примеров для "AltGameExponentXp = 5." и "AltGameExponentSp = 3."
# 0 (игрок и моб имеют одинаковый уровень), XP bonus rate = 1, SP bonus rate = 1
# 3 (моб на 3 уровня выше), XP bonus rate = 1.52, SP bonus rate = 2
# 5 (моб на 5 уровней выше), XP bonus rate = 2, SP bonus rate = 3.17
# -8 (моб на 8 уровней ниже), XP bonus rate = 0.4, SP bonus rate = 0.16
AltGameExponentXp = 0
AltGameExponentSp = 0
# Использование усталости (вместо CP)
AltGameTiredness = false
# Игрока с кармой можно убить в безопасной зоне?
AltKarmaPlayerCanBeKilledInPeaceZone = false
# Игрок с кармой может покупать?
AltKarmaPlayerCanShop = true
# Игрок с кармой может использовать СОЕ или ретюрн?
AltKarmaPlayerCanTeleport = true
# Игрок с кармой может использовать ГейтКиперов?
AltKarmaPlayerCanUseGK = false
# Игрок с кармой может торговать?
AltKarmaPlayerCanTrade = true
# Игрок с кармой может использовать Warehouse?
AltKarmaPlayerCanUseWareHouse = true
# Разрешить бесплатную телепортацию по всему миру
AltFreeTeleporting = false
# До какого уровня за телепорт не будет взыматься плата?
FreeTeleportLvl = 60
# Если включено, то персонажа могут рекомендовать не более 2х раз в день
AltRecommend = false
# =========================================== #
# Настройка крафта
# =========================================== #
# Крафт вкл/выкл
CraftingEnabled = true
# Лимит рецептов (по умолчанию: 50 - гномы , 50 - остальные)
DwarfRecipeLimit = 50
CommonRecipeLimit = 50
# Правила крафта:
# - Время крафта
# - получение EXP/SP
AltGameCreation = false
# Чем больше число тем дольше длится крафт
AltGameCreationSpeed = 1
# Рейты крафта (по умолчанию 1)
AltGameCreationRateXp = 1
AltGameCreationRateSp = 1
# Для изучения навыков требуется книга навыков
SpBookNeeded = true
# Для заточки скилов нужна книга гигантов?
EnchantSkillSpBookNeeded = true
# Правила изучения Альтернативных навыков
# - все классы могут изучить все навыки
# - навыки другого класса стоят x2 SP
# - навыки другой рассы стоят x2 SP
# - навыки борцов/волшебников стоят x3 SP
AltGameSkillLearn = false
# Максимальное кол-во слотов под баф (Клиент поддерживает 30 слотов)
MaxBuffsSlots = 20
# =========================================== #
# Саб-классы
# =========================================== #
# Активировать функцию получения всех сабклассов у любого мастера?
SubClassesEveryWhere = false
# Макс. кол-во саб-классов
AltMaxSubClasses = 3
# Саб-класс без квеста
AltSubClassWithoutQuests = false
# Сохранять скилы от саб-классов на основном классе?
KeepSubClassSkills = false
# Уровень у новых игроков?
StartingLevel = 1
# Уровень у добавленного саб-класса
StartingSubclassLevel = 40
# Включить обучение новичков при входе в игру?
AltEnableTutorial = true
# Минимальное кол-во пати для активации командного канала
AltChannelActivationCount = 5
# =========================================== #
# Настройки клана
# =========================================== #
# Если вышел с клана, сколько ждать чтобы войти снова? (в сутках)
DaysBeforeJoinAClan = 5
# Если распустил клан, сколько ждать чтобы создать новый(в сутках)
DaysBeforeCreateAClan = 10
# Кол-во дней, пока клан будет "распускатся"(в сутках)
DaysToPassToDissolveAClan = 7
# - dissolving again
DaysToPassToDissolveAgain = 7
# Время, через которое можно присоеденится к другому альянсу кланом, после выхода из старого(в сутках)
DaysBeforeJoinAllyWhenLeaved = 1
# Number of days before joining a new alliance when clan was dismissed from an alliance
DaysBeforeJoinAllyWhenDismissed = 1
# Number of days before accepting a new clan for alliance when clan was dismissed from an alliance
DaysBeforeAcceptNewClanWhenDismissed = 1
# Number of days before creating a new alliance when dissolved an alliance
DaysBeforeCreateNewAllyWhenDissolved = 10
# Максимальное число кланов в альянсе.
AltMaxNumOfClansInAlly = 12
# Кол-во необходимых членов клана для начала войны с другим кланом.
AltClanMembersForWar = 15
# Если человек создал на том же акк чара, будет ли он newbie(для бафа ну и т д).
AltNewCharAlwaysIsNewbie = false
# Интервал между осадами, по умолчанию 14 дней
SiegeInvterval = 14
# =========================================== #
# Настройки Олимпиады
# =========================================== #
# Во сколько часов по системному времени(на вашем компьютере) начнется олимп. Пример : 15 часов
AltOlyStartTime = 15
# Минуты, когда начнется олимп. Пример : 00. Более подробно - опции AltOlyStartTime и AltOlyMin это час и минуты когда запустится олимпиада.
AltOlyMin = 00
# Период прохождения олимпиады. по умолчанию 11 часов 50 минут
AltOlyCPeriod = 43200000
# Время драки на арене олимпа. 3 минуты (Должно быть меньше чем AltOlyBWait)
AltOlyBattle = 180000
# Полный период - время драки + ожидание (по умолчанию 10 минут)
AltOlyBWait = 600000
# Ожидание боя (по умолчанию 5 минут)
AltOlyIWait = 300000
# Недельный период олимпиады (по умолчанию 1 неделя)
AltOlyWPeriod = 604800000
# Период варификации - 24 часа.
AltOlyVPeriod = 86400000
# Минимальное количиство зарегистрированых для начала боя, По умолчянию 5 и 9
AltOlyClassedParticipants = 5
AltOlyNonClassedParticipants = 9
# Награда для победивших в класовых и некласовых боях.
# По умолчянию 6651(Gate Pass)
AltOlyBattleRewItem = 6651
# По умолчянию 50 для класовых
AltOlyClassedRewItemCount = 50
# По умолчянию 30 для не класовых
AltOlyNonClassedRewItemCount = 30
# Награды за битвы
# Минимальное количиство очков для обмены "nobless gate pass", По умолчанию 50
AltOlyMinPointForExchange = 50
# ИД награды, По умолчянию 6651(Gate Pass)
AltOlyCompRewItem = 6651
# Рейт обмена очков, По умолчянию 1 очко * 1000
AltOlyGPPerPoint = 1000
# Количество очков даваемых Герою. По умолчянию 300
AltOlyHeroPoints = 300
# Максимально допустимое значение енчанта на олимпе
# Если енчант больше [OlyMaxAllowedEnchantValue], то статы сбрасываются на предмет +[OlyMaxAllowedEnchantValue]
OlyMaxAllowedEnchantValue = -1
# Список запрещенных вещей на олимпиаде (например id вещей 1,200,350)
AltOlyRestrictedItems = 0
# Восстанавливать скилы после телепорта на арену?
AltOlyRechargeSkills = false
# =========================================== #
# Настройки системы манора
# =========================================== #
# Время обновлений манора - часы. Здесь стоит 20 (в 8 вечера)
AltManorRefreshTime = 20
# Минуты для обновления манора. Пример AltManorRefreshTime+AltManorRefreshMin = 20:00 ;)
AltManorRefreshMin = 00
# Следущий период манора (6 часов утра)
AltManorApproveTime = 6
# Минуты периода(аналогично первым двум)
AltManorApproveMin = 00
# Время тех. обслуживания (Maintenance), по умолчянию 6 минут.
AltManorMaintenancePeriod = 360000
# Тип сохранения данных манора. True - сохранять после каждого действия;
# По умолчянию - false
AltManorSaveAllActions = true
# Время сохранения данных манора (использовать только с AltManorSaveAllActions = false)
# По умолчянию каждых 2 часа
AltManorSavePeriodRate = 2
# =========================================== #
# Лотерея
# =========================================== #
# Джек пот лотореи
AltLotteryPrize = 50000
# Цена покупки билета у НПС
AltLotteryTicketPrice = 2000
# Часть джек пота от суммы тем, кто угадал 5 цифр
AltLottery5NumberRate = 0.6
# Часть джек пота тем, кто угадал 4 цифры
AltLottery4NumberRate = 0.2
# Часть джек пота для тех кто угада 3 цифры
AltLottery3NumberRate = 0.2
# Приз для тех кто угадал 2 или меньше числа.
AltLottery2and1NumberPrize = 200
# =========================================== #
# Four Sepulchers
# =========================================== #
# Default: 50
TimeOfAttack = 50
# Default: 5
TimeOfCoolDown = 5
# Default: 3
TimeOfEntry = 3
# Default: 2
TimeOfWarmUp = 2
# Default: 4
NumberOfNecessaryPartyMembers = 4
# =========================================== #
# Настройки для разработчиков
# =========================================== #
# Не загружать квесты
AltDevNoQuests = false
# Не загружать таблицу спаунлиста
AltDevNoSpawns = false
# =========================================== #
# Конфигурация дименшен рифта
# =========================================== #
# Минимальный размер партии для прохода в дименшен рифты( от 2х до 9)
RiftMinPartySize = 2
# Id Dimensional Fragment (Проходки в рифт)
DimensionalFragmentId = 7079
# Максимальные прыжки по комнатам.
MaxRiftJumps = 4
# Время до первого спавна мобов в комнате.
RiftSpawnDelay = 10000
# Время прыжка по комнатам. Min - минимальное, max - максимальное - выбирает rendom между ними.
AutoJumpsDelayMin = 480
AutoJumpsDelayMax = 600
# Множитель времени перебывания в комнате с "Босом"
BossRoomTimeMultiply = 1.5
# Количество "dimension fragments" необходимых для входа,
# каждый член групы должен иметь указанное количество.
RecruitCost = 18
SoldierCost = 21
OfficerCost = 24
CaptainCost = 27
CommanderCost = 30
HeroCost = 33

View File

@ -0,0 +1,33 @@
# =========================================== #
# L2Build Dev. Team #
# =========================================== #
# Использовать стандартный цвет (голубой) для анонсов или синий цвет?
DefaltColorAnnounce = true
# Интервал объявления онлайна в чат
AnnounceInterval = 900000
# Показывать рекордный онлайн и дату рекордного онлайна?
ShowRecordOnline = true
# Cообщать в чат, об убийстве рейд боссов?
BossKillAnnounce = false
# Показывать дату респауна рейд босса которого убили?
ShowBossRespawnDate = false
# Cообщать в чат, об спауне рейд боссов?
BossSpawnAnnounce = false
# С какого уровня доступен общий чат
AllChatLevel = 1
# С какого уровня доступен приватный чат (ПМ)
TellChatLevel = 1
# С какого уровня доступен шаут чат
ShoutChatLevel = 1
# С какого уровня доступен торговый чат
TradeChatLevel = 1

View File

@ -0,0 +1,186 @@
# =========================================== #
# L2Build Dev. Team #
# =========================================== #
# Item Id для ставки в аукционе на клан холл
ClanHallBuyItemId = 57
#-------------------------------------------------------------
# Clan Hall Function price
#-------------------------------------------------------------
# Parser C4 Retail server price.
# Price = 7 day(one day price = price/7)
#-------------------------------------------------------------
# Teleport Function price
#-------------------------------------------------------------
# 1st level
ClanHallTeleportFunctionFeeLvl1 = 7000
# 2nd level
ClanHallTeleportFunctionFeeLvl2 = 14000
# 3rd level
#ClanHallTeleportFunctionFeeLvl3 = 2100
# Need core support, need more information on functions in different
# Clan Hall in different Towns.
# 4th level
#ClanHallTeleportFunctionFeeLvl4 = 28000
#-------------------------------------------------------------
# Support magic buff price
#-------------------------------------------------------------
# 1st level
ClanHallSupportFeeLvl1 = 17500
# 2nd level
ClanHallSupportFeeLvl2 = 35000
# 3rd level
ClanHallSupportFeeLvl3 = 49000
# 4th level
ClanHallSupportFeeLvl4 = 77000
# 5th level
ClanHallSupportFeeLvl5 = 147000
# 6th level
ClanHallSupportFeeLvl6 = 252000
# 7th level
ClanHallSupportFeeLvl7 = 259000
# 8th level
ClanHallSupportFeeLvl8 = 364000
# Need core support, need more information on functions in different
# Clan Hall in different Towns.
# 9th level
#ClanHallSupportFeeLvl9 = 469000
#-------------------------------------------------------------
# MpRegeneration price
#-------------------------------------------------------------
# 5% MpRegeneration
ClanHallMpRegenerationFeeLvl1 = 14000
# 10% MpRegeneration
ClanHallMpRegenerationFeeLvl2 = 26250
# 15% MpRegeneration
ClanHallMpRegenerationFeeLvl3 = 45500
# 30% MpRegeneration
ClanHallMpRegenerationFeeLvl4 = 96250
# 40% MpRegeneration
ClanHallMpRegenerationFeeLvl5 = 140000
# Need core support, need more information on functions in different
# Clan Hall in different Towns.
# 20% MpRegeneration
#ClanHallMpRegenerationFeeLvl? = 59500
# 25% MpRegeneration
#ClanHallMpRegenerationFeeLvl? = 84000
# 35% MpRegeneration
#ClanHallMpRegenerationFeeLvl? = 129500
# 40% MpRegeneration
#ClanHallMpRegenerationFeeLvl? = 140000
# 45% MpRegeneration
#ClanHallMpRegenerationFeeLvl? = 182000
# 50% MpRegeneration
#ClanHallMpRegenerationFeeLvl? = 192500
#-------------------------------------------------------------
# HpRegeneration price
#-------------------------------------------------------------
# 20% HpRegeneration
ClanHallHpRegenerationFeeLvl1 = 4900
# 40% HpRegeneration
ClanHallHpRegenerationFeeLvl2 = 5600
# 80% HpRegeneration
ClanHallHpRegenerationFeeLvl3 = 7000
# 100% HpRegeneration
ClanHallHpRegenerationFeeLvl4 = 8166
# 120% HpRegeneration
ClanHallHpRegenerationFeeLvl5 = 10500
# 140% HpRegeneration
ClanHallHpRegenerationFeeLvl6 = 12250
# 160% HpRegeneration
ClanHallHpRegenerationFeeLvl7 = 14000
# 180% HpRegeneration
ClanHallHpRegenerationFeeLvl8 = 15750
# 200% HpRegeneration
ClanHallHpRegenerationFeeLvl9 = 17500
# 220% HpRegeneration
ClanHallHpRegenerationFeeLvl10 = 22750
# 240% HpRegeneration
ClanHallHpRegenerationFeeLvl11 = 26250
# 260% HpRegeneration
ClanHallHpRegenerationFeeLvl12 = 29750
# 300% HpRegeneration
ClanHallHpRegenerationFeeLvl13 = 36166
# Need core support, need more information on functions in different
# Clan Hall in different Towns.
# 60% HpRegeneration
#ClanHallHpRegenerationFeeLvl? = 6300
# 280% HpRegeneration
#ClanHallHpRegenerationFeeLvl? = 33250
# 320% HpRegeneration
#ClanHallHpRegenerationFeeLvl? = 43750
# 340% HpRegeneration
#ClanHallHpRegenerationFeeLvl? = 49000
# 360% HpRegeneration
#ClanHallHpRegenerationFeeLvl? = 54250
# 380% HpRegeneration
#ClanHallHpRegenerationFeeLvl? = 59500
# 400% HpRegeneration
#ClanHallHpRegenerationFeeLvl? = 61833
#-------------------------------------------------------------
# ExpRegeneration price
#-------------------------------------------------------------
# 5% ExpRegeneration
ClanHallExpRegenerationFeeLvl1 = 21000
# 10% ExpRegeneration
ClanHallExpRegenerationFeeLvl2 = 42000
# 15% ExpRegeneration
ClanHallExpRegenerationFeeLvl3 = 63000
# 25% ExpRegeneration
ClanHallExpRegenerationFeeLvl4 = 105000
# 35% ExpRegeneration
ClanHallExpRegenerationFeeLvl5 = 147000
# 40% ExpRegeneration
ClanHallExpRegenerationFeeLvl6 = 163331
# 50% ExpRegeneration
ClanHallExpRegenerationFeeLvl7 = 210000
# Need core support, need more information on functions in different
# Clan Hall in different Towns.
# 20% ExpRegeneration
#ClanHallExpRegenerationFeeLvl? = 81666
# 30% ExpRegeneration
#ClanHallExpRegenerationFeeLvl? = 126000
# 35% ExpRegeneration
#ClanHallExpRegenerationFeeLvl? = 147000
# 45% ExpRegeneration
#ClanHallExpRegenerationFeeLvl? = 189000
# 50% ExpRegeneration
#ClanHallExpRegenerationFeeLvl? = 210000
# 55% ExpRegeneration
#ClanHallExpRegenerationFeeLvl? = 231000
# 60% ExpRegeneration
#ClanHallExpRegenerationFeeLvl? = 245000
#-------------------------------------------------------------
# Creation item function
#-------------------------------------------------------------
#Time after count of Item is restored (in Hours)
#ClanHallItemCreationFunctionTaskRestore = 24
# 1st level
ClanHallItemCreationFunctionFeeLvl1 = 210000
# 2nd level
ClanHallItemCreationFunctionFeeLvl2 = 490000
# 3rd level
ClanHallItemCreationFunctionFeeLvl3 = 980000
#-------------------------------------------------------------
# Decor function
#-------------------------------------------------------------
# Need core support, need more information on functions in different
# Clan Hall in different Towns.
#
ClanHallCurtainFunctionFeeLvl1 = 2002
ClanHallCurtainFunctionFeeLvl2 = 2625
ClanHallFrontPlatformFunctionFeeLvl1 = 3031
ClanHallFrontPlatformFunctionFeeLvl2 = 9331

View File

@ -0,0 +1,91 @@
# =========================================== #
# L2Build Dev. Team #
# =========================================== #
# =========================================== #
# Chance of Normal enchant scroll
# =========================================== #
# Weapon
NormalWeaponEnchantLevel = 1,100;2,100;3,100;4,96;5,92;6,88;7,84;8,80;9,76;10,72;11,68;12,64;13,60;14,56;15,62;16,58;
# Armor
NormalArmorEnchantLevel = 1,100;2,100;3,100;4,96;5,92;6,88;7,84;8,80;9,76;10,72;11,68;12,64;13,60;14,56;15,62;16,58;
# Jewelry
NormalJewelryEnchantLevel = 1,100;2,100;3,100;4,95;5,90;6,85;7,80;8,75;9,70;10,65;11,60;12,55;13,50;14,45;15,40;16,35;
# =========================================== #
# Chance bless enchant scroll
# =========================================== #
# Weapon
BlessWeaponEnchantLevel = 1,100;2,100;3,100;4,97;5,94;6,91;7,88;8,85;9,82;10,79;11,76;12,73;13,70;14,67;15,64;16,61;
# Armor
BlessArmorEnchantLevel = 1,100;2,100;3,100;4,97;5,94;6,91;7,88;8,85;9,82;10,79;11,76;12,73;13,70;14,67;15,64;16,61;
# Jewelry
BlessJewelryEnchantLevel = 1,100;2,100;3,100;4,96;5,92;6,88;7,84;8,80;9,76;10,72;11,68;12,64;13,60;14,56;15,62;16,58;
# =========================================== #
# Chance crystal scroll
# =========================================== #
# Weapon
CrystalWeaponEnchantLevel = 1,100;2,100;3,100;4,98;5,96;6,94;7,92;8,90;9,88;10,86;11,84;12,82;13,80;14,78;15,76;16,74;
# Armor
CrystalArmorEnchantLevel = 1,100;2,100;3,100;4,98;5,96;6,94;7,92;8,90;9,88;10,86;11,84;12,82;13,80;14,78;15,76;16,74;
# Jewelry
CrystalJewelryEnchantLevel = 1,100;2,100;3,100;4,97;5,94;6,91;7,88;8,85;9,82;10,79;11,76;12,73;13,70;14,67;15,64;16,61;
# =========================================== #
# Шанс обынчных заточками
# =========================================== #
# Weapon
PremiumNormalWeaponEnchantLevel = 1,100;2,100;3,100;4,96;5,92;6,88;7,84;8,80;9,76;10,72;11,68;12,64;13,60;14,56;15,62;16,58;
# Armor
PremiumNormalArmorEnchantLevel = 1,100;2,100;3,100;4,96;5,92;6,88;7,84;8,80;9,76;10,72;11,68;12,64;13,60;14,56;15,62;16,58;
# Jewelry
PremiumNormalJewelryEnchantLevel = 1,100;2,100;3,100;4,95;5,90;6,85;7,80;8,75;9,70;10,65;11,60;12,55;13,50;14,45;15,40;16,35;
# =========================================== #
# Шанс Blessed заточек
# =========================================== #
# Weapon
PremiumBlessWeaponEnchantLevel = 1,100;2,100;3,100;4,97;5,94;6,91;7,88;8,85;9,82;10,79;11,76;12,73;13,70;14,67;15,64;16,61;
# Armor
PremiumBlessArmorEnchantLevel = 1,100;2,100;3,100;4,97;5,94;6,91;7,88;8,85;9,82;10,79;11,76;12,73;13,70;14,67;15,64;16,61;
# Jewelry
PremiumBlessJewelryEnchantLevel = 1,100;2,100;3,100;4,96;5,92;6,88;7,84;8,80;9,76;10,72;11,68;12,64;13,60;14,56;15,62;16,58;
# =========================================== #
# Шанс Crystal заточек
# =========================================== #
# Weapon
PremiumCrystalWeaponEnchantLevel = 1,100;2,100;3,100;4,98;5,96;6,94;7,92;8,90;9,88;10,86;11,84;12,82;13,80;14,78;15,76;16,74;
# Armor
PremiumCrystalArmorEnchantLevel = 1,100;2,100;3,100;4,98;5,96;6,94;7,92;8,90;9,88;10,86;11,84;12,82;13,80;14,78;15,76;16,74;
# Jewelry
PremiumCrystalJewelryEnchantLevel = 1,100;2,100;3,100;4,97;5,94;6,91;7,88;8,85;9,82;10,79;11,76;12,73;13,70;14,67;15,64;16,61;
# При фейле сбрасывать заточку на BlessedEnchantFailedLevel
BlessedEnchantFailedLevel = 0
# Enchant limit [default = 0 (unlimited)]
EnchantMaxWeapon = 0
EnchantMaxArmor = 0
EnchantMaxJewelry = 0
# if EnchantSafeMax is set to for ex '8' the item will be safly enchanted to '8'
# regardless of enchant chance(default = 3 for EnchantSafeMax and default = 4 for EnchantSafeMaxFull)
# EnchantSafeMaxFull is for full body armor (upper and lower)
# SHOULD BE > 0
EnchantSafeMax = 3
EnchantSafeMaxFull = 4
# Заточки стопкой (Нужны изменения в таблице etcitem и в клиенте)
ScrollStackable = false
# Продавать заточенные вещи через мультиселлы
EnableModifyEnchantMultisell = false
# Номера мультиселлов в которых будут затачиваться вещи при продаже
# Например: EnchantMultisellList=1001,10;1002,5
# Означает что в мультиселле 1001.xml все вещи при продаже будут точиться на 10
# и в мультиселле 1002.xml соответственно точиться на 5
# ВНИМАНИЕ! Не ставьте точку с запятой в самом конце и пишите все без пробелов!
EnchantMultisellList = 10001,0;10002,0

View File

@ -0,0 +1,93 @@
# =========================================== #
# Java-Build Dev. Team #
# =========================================== #
#Grid options: Grids can now turn themselves on and off. This also affects
#the loading and processing of all AI tasks and (in the future) geodata
#within this grid.
#Turn on for a grid with a person in it is immediate, but it then turns on
#the 8 neighboring grids based on the specified number of seconds.
#Turn off for self and neighbors occurs after the specified number of
#seconds have passed during which a grid has had no players in or in
#any of its neighbors.
#The always on option allows to ignore all this and let all grids be active
#at all times (not suggested)
GridsAlwaysOn = False
GridNeighborTurnOnTime = 1
GridNeighborTurnOffTime = 90
# GeoData options:
# 0 = GeoData and PathFinding OFF (default)
# 1 = GeoData used to check Line Of Sight (LOS) targetting and
# L2Playable movement. You need to download files for data/geodata folder.
# Monsters can pass walls but not aggro through them.
# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
# files if CellPathFinding not enabled) and all character moves go through
# geodata checks (if a mob passes a wall, pathfinding didn't find a route
# but we allow attack and returning home).
# Recommended server memory minimum 2 GB, rather 3 GB.
GeoData = 0
# GeoData driver to use
# Default: com.l2j.geodriver.GeoDriver
GeoDataDriver = com.l2j.geodriver.GeoDriver
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x)
# heavier to calculate. Recommended for small servers at least. If False,
# pathnode files are used. Uses a max nr of nodes in calculation which can
# be adjusted in the algorithm if it needs to be faster.
CellPathFinding = false
# Pathnode directory folder
PathnodeDirectory = ./data/pathnode
# Pathfinding array buffers configuration
PathFindBuffers = 100x6;128x6;192x6;256x4;320x4;384x4;500x2
# Weight for nodes without obstacles far from walls
LowWeight = 0.5
# Weight for nodes near walls
MediumWeight = 2
# Weight for nodes with obstacles
HighWeight = 3
# Angle paths will be more "smart", but in cost of higher CPU utilization
AdvancedDiagonalStrategy = True
# Weight for diagonal movement. Used only with AdvancedDiagonalStrategy = True
# Default: LowWeight * sqrt(2)
DiagonalWeight = 0.707
# Maximum number of LOS postfilter passes, 0 will disable postfilter.
# Default: 3
MaxPostfilterPasses = 3
# Path debug function.
# Nodes known to pathfinder will be displayed as adena, constructed path as antidots.
# Number of the items show node cost * 10
# Potions display path after first stage filter
# Red potions - actual waypoints. Green potions - nodes removed by LOS postfilter
# This function FOR DEBUG PURPOSES ONLY, never use it on the live server!
DebugPath = true
#[True]Loads GeoData buffer's content into physical memory.
#[False] Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.
ForceGeodata = False
# This is setting of Client <--> Server Player coordinates synchronization,
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
# 1 - Synchronization Client --> Server only. Using this option (without geodata) it is more difficult for players to bypass obstacles
# 2 - Intended for geodata (at least when cell-level pathfinding, otherwise can try -1 also)!
# Server sends validation packet if client goes too far from server calculated coordinates.
CoordSynchronize = -1
# Falling Damage
# Allow characters to receive damage from falling.
# CoordSynchronize = 2 is recommended.
# True - enabled.
# False - disabled.
# Auto - True if geodata enabled and False if disabled.
# Default: Auto
EnableFallingDamage = True

View File

@ -0,0 +1,16 @@
# Geodata files folder
geodataPath = ./data/geodata
# True: Try to load regions not specified below(won't disturb server startup when file does not exist)
# False: Don't load any regions other than the ones specified with True below
tryLoadUnspecifiedRegions = True
# List of regions to be required to load
# eg.:
# Both regions required
# 22_22=True
# 19_20=true
# Exclude region from loading
# 25_26=false
# True: Region is required for the server to startup
# False: Region is not considered to be loaded

View File

@ -0,0 +1,247 @@
# =========================================== #
# L2Build Dev. Team #
# =========================================== #
# =========================================== #
# Класс-мастер
# =========================================== #
# Default: False
AllowClassMasters = false
# ConfigClassMaster=1;[57(100000)];[];2;[57(1000000)];[];3;[57(10000000)],[5575(1000000)];[6622(1)]
# 1st occupation change for 100.000 Adena (item id 57)
# 2nd occupation change for 1.000.000 Adena (item id 57)
# 3rd occupation change for 10.000.000 Adena (item id 57) and 1.000.000 Ancient Adena (item id 5575)
# on 3rd occupation change player will be rewarded with 1 Book of Giants (item id 6622)
# ConfigClassMaster=1;[];[];2;[];[];3;[];[]
# 1st, 2nd, 3rd occupation change for free, without rewards.
# ConfigClassMaster=1;[];[];2;[];[]
# Allow only first and second change.
ConfigClassMaster = 1;[];[];2;[];[];3;[];[]
# Class Masters will allow changing to any occupation on any level inside class tree
# For example, Dwarven Fighter will be able to advance to:
# Artisan, Scavenger, Warsmith, Bounty Hunter, Maestro, Fortune Seeker.
# But Warsmith will be able to change only to Maestro.
# Default = False
AllowEntireTree = false
# =========================================== #
# Настройки бафера //spawn 50000
# =========================================== #
# Id сертификата на премиум бафф
PremiumBuffItemId = 4037
PremiumBuffItemsCount = 10
# Премиум бафф можно использовать только с ПА
PremiumBuffOnlyPremium = false
# Список доступных баффов
BuffsList = 1363,1355,1356,1357,1068,1085,1240,1059,1086,1303,1077,1043,1242,1062,1040,1243,1036,1078,1035,1087,1048,1044,1204,1268,1045,274,271,275,310,272,276,273,277,264,266,267,265,269,304,268,1182,1189,1191,1353,1033,1352,1259,1354,1362,364,365,349,4699,4700,4702,4703,4554,4553,307,270,306,308
# Максимальное кол-во профилей для одного игрока
MaxProfiles = 3
# Максимальное кол-во бафов в одном профиле
MaxBuffsProfiles = 30
# Сохранять профили игроков во время рестарта сервера?
SaveBuffersOnShutdown = true
# Цена за один бафф
BuffItemId = 57
BuffItemCount = 1000
# Цена за один Dance/Song
DanceItemId = 57
DanceItemCount = 1000
# Цена за восстановление Hp/Cp/Mp
HealItemId = 57
HealItemCount = 1000
# Цена за бафф одного профиля
ProfileItemCount = 1000
# =========================================== #
# Личный баффер игроков
# =========================================== #
# Включить личного баффера
EnablePrivateBuffer = false
# Проверки на использование приватного баффера
# Доступные значения: ALL ATTACK PVP PEACE SIEGE OLYMPIAD TVT
PrivateBufferExcludeOn = ATTACK PVP SIEGE OLYMPIAD TVT
# Id предмета с которого будем спаунить баффера
PrivateBufferItemId = 4356
# Id Npc который проспаунится
PrivateBufferNpcId = 50007
# Кол-во адены за 1 бафф
PrivateBuffItems = 1
# Кол-во адены за 1 денс/сонг
PrivateDanceItems = 1
# Кол-во адены за восстановление Hp\Cp\Mp
PrivateHealItems = 1
# Цена за использование профиля
PrivateProfileItems = 1
# Список доступных баффов
PrivateBuffsList = 1363,1355,1356,1357,1068,1085,1240,1059,1086,1303,1077,1043,1242,1062,1040,1243,1036,1078,1035,1087,1048,1044,1204,1268,1045,274,271,275,310,272,276,273,277,264,266,267,265,269,304,268,1182,1189,1191,1353,1033,1352,1259,1354,1362,364,365,349,4699,4700,4702,4703,4554,4553
# Время до удаления баффера из мира
# Указывать в минутах
BufferLifeTime = 5
# Интервал использования предмета который спаунит баффера
# Указывать в милисекундах
# 3000 = 5 минут
BufferItemUseDelay = 3000
# =========================================== #
# Настройки NPC
# =========================================== #
# Allow the wyvern manager located in every castle to train wyverns and striders from hatchlings
AllowWyvernUpgrader = False
# Информация об Npc по Shift+клик
AltGameViewNpc = false
# Альтернативные настройки АИ мобов как в C1
AltGameMobAttackAI = false
# Alternative mob behavior in peace zones
# Default = True; Set to False to prevent mobs from auto-aggro against players in peace zones
AltMobAggroInPeaceZone = True
# Минимальный и максимальный интервал между анимацией npc и мобов.
# Соблюдайте правило MinNPCAnimation <= MaxNPCAnimation.
MinNPCAnimation = 10
MaxNPCAnimation = 20
MinMonsterAnimation = 5
MaxMonsterAnimation = 20
# Показывать Лвл и Аггро информацию в титуле у мобов
ShowNpcLevel = False
# Максимальное отклонение мобов от точки спауна
MaxDriftRange = 200
# If you wish to disable the use of guards agains agressive monsters.
# Default is False.
GuardsAttackAggroMobs = False
# Announce to players the location of the Mammon NPCs during Seal Validation.
AnnounceMammonSpawn = True
# List of pet rent (wyvern,strider). etc: 111,222,333
ListPetRentNpc = 7827
# Автотаргет Npc
# Функция работает только с Npc,
# Автовзятие таргета когда вас атакуют мобы
EnableAutoTargetNPC = False
# =========================================== #
# Настройки Grand Boss
# =========================================== #
# ===========================================
# Queen Ant
# ===========================================
# Время респауна Ant Queen.
# Минимальное время респауна Ant Queen
# Указывать в часах
QueenAntRespFirst = 20
# Рандомное время респауна +-
# Указывать в часах
QueenAntRespSecond = 8
# Время респауна миньенов в секундах
# Nurses
QueenAntRespNurse = 60
# Royal Guard
QueenAntRespRoyal = 120
# ===========================================
# Orfen
# ===========================================
# Время респауна Orfen.
# Минимальное время респауна Orfen
# Указывать в часах
OrfenRespFirst = 20
# Рандомное время респауна +-
# Указывать в часах
OrfenRespSecond = 8
# =========================================== #
# Настройки Raid Boss
# =========================================== #
# HP/MP % regeneration for RaidBoss and their minions
RaidHpRegenMultiplier = 100
RaidMpRegenMultiplier = 100
# % P/M defense for RaidBoss and their minions
RaidPDefenceMultiplier = 100
RaidMDefenceMultiplier = 100
#Configure Minimum and Maximum multiplier time between RaidBoss respawn.
#By Default 12Hours*1.0 for Minimum Time and 24Hours*1.0 for Maximum Time.
RaidMinRespawnMultiplier = 1.0
RaidMaxRespawnMultiplier = 1.0
# Minions respawn timer 300000 = 5 mins
RaidMinionRespawnTime = 300000
# =========================================== #
# Мобы чемпионы
# =========================================== #
# Активировать мобов чемпионов?
ChampionEnable = False
# Даже если моб агрессивный, а у он стал чемпионом то ему присвоится статус пассивный?
ChampionPassive = False
# Шанс, что моб станет чемпионом
# Указывать в %
ChampionFrequency = 5
# Титул у мобов чемпионов
ChampionTitle = Champion
# Мин. и макс. уровень у чемпионов
ChampionMinLevel = 20
ChampionMaxLevel = 70
# Множитель ХП
ChampionHp = 8
# Множитель регена ХП
ChampionHpRegen = 1.
# Множитель дропа предметов
ChampionRewards = 8
# Множительно дропа адены и камней в катах
ChampionAdenasRewards = 1
# Множитель Физ.Атаки
ChampionAtk = 1.
# Множитель скорости атаки и каста
ChampionSpdAtk = 1.
# Шанс дропа спец. предметов с чемпионов низкого уровня
ChampionRewardLowerLvlItemChance = 0
# Шанс дропа спец. предметов с чемпионов высокого уровня
ChampionRewardHigherLvlItemChance = 0
# Id спец. предмента
ChampionRewardItemID = 6393
# Кол-во дропа спец. предметов
ChampionRewardItemQty = 1

View File

@ -0,0 +1,153 @@
# =========================================== #
# Java-Build Dev. Team #
# =========================================== #
# =========================================== #
# Test server setting, shoudnt be touched in online game server
# =========================================== #
Debug = False
Assert = False
Developer = False
AcceptGeoeditorConn = False
# if true the server will be a test server (listed by clients setted up to list testserver)
TestServer = False
# Zone Setting
# 0 = Peace All the Time
# 1 = PVP During Siege for siege participants
# 2 = PVP All the Time
ZoneTown = 0
# Chat configuration
# Global Chat - ON (=region), OFF, GM, GLOBAL
GlobalChat = ON
# Trade Chat - ON (=global), OFF, GM, LIMITED (=region)
TradeChat = LIMITED
# Allow delete chars after nnn days, 0 - feature disabled
DeleteCharAfterDays = 7
# =========================================== #
# Server optimizations
# =========================================== #
# === Flood Protector ===
# set the initial size of the flood protector (should equal ~player count)
FloodProtectorInitialSize = 50
# === Items on ground management ===
# Allow players to drop items on the ground
AllowDiscardItem = True
# delete from world dropped reward items after n seconds. 0 - disabled
AutoDestroyDroppedItemAfter = 0
# List of items that will not be destroyed (seperated by ",")
# NOTE: Make sure the lists do NOT CONTAIN trailing spaces or spaces between the numbers!
# items on this list will be protected regardless below options
ListOfProtectedItems = 57,5575,6673
# This enables the server to only update itens when saving the character
# Enabling this greatly reduces DB usage and improves performance.
# WARNING: This option causes item loss during crashes
LazyItemsUpdate = false
# This forces(even if using lazy item updates) the items owned by the character to be updated into DB when saving its character
# Increases DB usage
UpdateItemsOnCharStore = false
# also delete from world misc. items dropped by players (all except equipable items)
# NOTE: work only if AutoDestroyDroppedItemAfter >0
DestroyPlayerDroppedItem = false
# Destroy also equipable items (armor, weapon, jewelry)
# NOTE: Work only if DestroyPlayerDroppedItem = true
DestroyEquipableItem = false
# save into DB dropped items for restoring after reboot
SaveDroppedItem = false
# Empty table after items are loaded into memory - safety seting
# if server crash before saving items, on next start old items will be restored
# and players may already picked up some of them - so this will prevent duplicates
EmptyDroppedItemTableAfterLoad = false
# Time interval in minutes to save in DB items on ground, 0 to disable
# NOTE: If SaveDroppedItemInterval is disabled items will be saved into DB only at server shutdown
SaveDroppedItemInterval = 60
# delete all saved items form DB On next start
# NOTE: Work only if SaveDroppedItem = false
ClearDroppedItemTable = false
# delete invalid quest from player
AutoDeleteInvalidQuestData = False
# setting false can improve server performance on high rate servers
PreciseDropCalculation = True
# allows creating multiple nonstackable items at one time
MultipleItemDrop = True
# Forces full item inventory packet to be sent for any item change
# Note: This can increase network traffic
ForceInventoryUpdate = False
# Set the html cache's lazy loading True or False
# (Load html's into cache only on first time requested)
LazyCache = True
# Activate the position recorder
# valid 3D points will be recorded and written to data/universe.txt on shutdown
ActivatePositionRecorder = False
# Interval (in ms) on which knownlist do full updates.
# WARNING! Useful interval is between 300 - 2000ms, too small value may kill your CPU, too high value
# may not update knownlists properly, the default value is choosen experimentally
KnownListUpdateInterval = 1250
# =========================================== #
# Additionnal features than can be enabled or disabled
# =========================================== #
# If you are experiencing problems with Warehouse or Freight transactions,
# feel free to disable them here. (They are both enabled by default).
AllowWarehouse = True
# Enable Warehouse Cache - if WH is not used will server clear memory used by this WH
WarehouseCache = False
# How long Warehouse should be store in Memory
WarehouseCacheTime = 15
AllowFreight = True
# If True player can try on weapon and armor in shop
# Each Item tried cost WearPrice adena
AllowWear = True
WearDelay = 10
WearPrice = 10
# =========================================== #
AllowLottery = False
AllowRace = False
AllowWater = True
# Enable pet for rent(wyvern&strider) from pet managers
AllowRentPet = False
# Allow fishing
AllowFishing = True
# Allow boat
AllowBoat = True
# Allow Manor
AllowManor = True
# Allow Walker NPC
AllowNpcWalkers = True
# Allow Pet managers pets walking
AllowPetWalkers = True
# =========================================== #
# Logging features
# =========================================== #
# Logging ChatWindow
LogChat = false

View File

@ -0,0 +1,100 @@
# =========================================== #
# L2Build Dev. Team #
# =========================================== #
# Давать новым игрокам указанное кол-во аден
# По умолчанию 0
StartingAdena = 0
# Максимальное значение скорости бега
MaxRunSpeed = 250
# Лимит шанса физичикской крит. атаки (10 = 1%)
MaxPCritRate = 500
# Лимит шанса магической крит. атаки (10 = 1%)
MaxMCritRate = 300
# Пределы на скорость атаки и каста
MaxPAtkSpeed = 1500
MaxMAtkSpeed = 1999
# Если включено, то групповые эффекты будут использоваться, меньшие
# эффекты будут отменены при использовании более сильных эффектов. Новые эффекты
# при добавлении будут отменены если используются более сильные эффекты.
# Если отключено, новые эффекты не будут отменяться, заменяя собой и
# более сильные эффекты.
CancelLesserEffect = True
# При включении будет действовать наказание за убийство низкоуровневых мобов:
# - Когда уровень игрока в 9 больше уровней моба, дроп будет разделен на 3
# - После 9-уровневого различия между игроком и мобами, шанс дропа начинает
# снижаться на 9% с каждым дополнительным уровнем. (9 уровеней = -9%; 10 уровней = -18%; ...)
# ВНИМАНИЕ: Эти правила применяются и к нормальному и к сниженному дропу
# ВНИМАНИЕ: Эти правила игнорируют серверные рейты
UseDeepBlueDropRules = True
# Лимит места в инветаре
MaximumSlotsForNoDwarf = 80
MaximumSlotsForDwarf = 100
MaximumSlotsForGMPlayer = 250
MaximumSlotsForPet = 12
# Пределы места на складах (Должен быть <300 для предотвращения ошибок клиента)
# Гномы имеют бонус после 60 лвла
MaximumWarehouseSlotsForDwarf = 120
MaximumWarehouseSlotsForNoDwarf = 100
MaximumWarehouseSlotsForClan = 200
MaximumFreightSlots = 20
# % регенерации от нормальной регенерации
HpRegenMultiplier = 100
MpRegenMultiplier = 100
CpRegenMultiplier = 100
# Время действия команды /unstuck, в секундах, по умолчанию 300 сек (5 минут)
UnstuckInterval = 300
# Player Protection after teleporting or login in seconds, 0 for disabled
PlayerSpawnProtection = 0
# Player Protection from (agro) mobs after getting up from fake death; in seconds, 0 for disabled
PlayerFakeDeathUpProtection = 0
# PARTY XP DISTRIBUTION
# Set the first option here to one of the (auto, percentage, level, none).
# With "auto method" member is cut from Exp/SP distribution when his share is lower
# then party bonus acquired for him (30% for 2 member party)
# In that case he will not receive any Exp/SP from party and is not counted for party bonus
# The second option takes effect when "percentage" method is choosen. Don't use high values for this!
# The third option takes effect when "level" method is choosen. Don't use low values for this!
# If you don't want to have a cutoff point for party members' XP distribution,
# then just set the first option to "none". Defaults are: percentage , 3.0 , 30 ; respectively.
PartyXpCutoffMethod = auto
PartyXpCutoffPercent = 3.0
PartyXpCutoffLevel = 30
# Amount of HP that is restored during respawn
# Value is in percent of max
RespawnRestoreHP = 70
# Allow random respawning, based on a maximum random offset
# from the base respawn co-ordinates.
RespawnRandomOffset = True
RespawnRandomMaxOffset = 20
# Maximum number of allowed slots for Private Stores (sell/buy) for dwarves and for all other races
# Normally, dwarves get 5 slots for pvt stores, while other races get only 4
MaxPvtStoreSlotsDwarf = 5
MaxPvtStoreSlotsOther = 4
# Store buffs/debuffs other effects on user logout?
StoreSkillCooltime=True
#-------------------------------------------------------------
# Jail configuration
#-------------------------------------------------------------
# Jail is a PvP zone
JailIsPvp = True
# Disable all chat in jail (except normal one)
JailDisableChat = True

View File

@ -0,0 +1,43 @@
# =========================================== #
# L2Build Dev. Team #
# =========================================== #
# =========================================== #
# Настройки PvP/PK
# =========================================== #
# Karma gain/loss
MinKarma = 240
MaxKarma = 10000
# the number to divide the xp received by, to calculate karma lost on xp gain/lost
XPDivider = 260
# The Minimum Karma lost if 0 karma is to be removed
BaseKarmaLost = 0
# Equipment loss
CanGMDropEquipment = False
# NOTE: Make sure the lists do NOT CONTAIN trailing spaces or spaces between the numbers!
# List of pet items we cannot drop
ListOfPetItems = 2375,3500,3501,3502,4422,4423,4424,4425,6648,6649,6650
# Lists of items which should NEVER be dropped (note, adena will never be dropped) whether on this list or not
ListOfNonDroppableItems = 57,1147,425,1146,461,10,2368,7,6,2370,2369,7694,5575
# item drop related min/max
MinimumPKRequiredToDrop = 5
# Should we award a pvp point for killing a player with karma?
AwardPKKillPVPPoint = True
# Length one stays in PvP mode after hitting an inocent (in ms)
PvPVsNormalTime = 40000
# Length one stays in PvP mode after hitting a purple player (in ms)
PvPVsPvPTime = 20000
# Включать систему награды за победу в PvP?
PvPRewardSystem = false
# Id награды
PvPRewardItemId = 57
# Кол-во предмета награды
PvPRewardItemCount = 1

View File

@ -0,0 +1,85 @@
# =========================================== #
# L2Build Dev. Team #
# =========================================== #
# =========================================== #
# Настройки рейтов сервера #
# =========================================== #
RateXp = 1
RateSp = 1
RatePartyXp = 1
RatePartySp = 1
RateConsumableCost = 1
RateDropItems = 1
# Рейты дропа предметов по id
# Формат ввода: itemId1,dropChance1;itemId2,dropChance2;...
# Пример с Эпик бижей 1x : 6656,1;6657,1;6658,1;6659,1;6660,1;6661,1;6662,1;
RateDropItemsById = 57,1
# =========================================== #
# Система премиум рейтов
# =========================================== #
# Вкл/Выкл премиум систему
UsePremiumServices = False
# Рейты Exp
PremiumRateXp = 2
# Рейты Sp
PremiumRateSp = 2
# Рейты спойла
PremiumRateDropSpoil = 2
# Рейты дропа предметов
PremiumRateDropItems = 2
# Рейты дропа предметов с рейд боссов
PremiumRateRaidDropItems = 2
# Индивидуальные рейты дропа предметов
# Формат: id,шанс; id,шанс;...
PremiumRateDropItemsById = 57,2
RateBossDropItems = 1
RateDropSpoil = 1
RateDropManor = 1
RateDropQuest = 1
RateQuestsReward = 1
RateKarmaExpLost = 1
RateSiegeGuardsPrice = 1
# Шанс дропа предметов с игроков без кармы
PlayerDropLimit = 3
PlayerRateDrop = 5
PlayerRateDropItem = 70
PlayerRateDropEquip = 25
PlayerRateDropEquipWeapon = 5
# Шанс дропа предметов с игроков с кармой
KarmaDropLimit = 10
KarmaRateDrop = 70
KarmaRateDropItem = 50
KarmaRateDropEquip = 40
KarmaRateDropEquipWeapon = 10
# Рейты Exp для питомцев
PetXpRate = 1
# Как часто питомцы хотят покушать
PetFoodRate = 1
# Рейт Exp для SinEater (Гремлин который отмывает счетчик пк)
SinEaterXpRate = 1
# =========================================== #
# Настройки рейтов спойла
# =========================================== #
CanSpoilLowerLevelMobs = false
MaximumPlayerAndMobLevelDifference = 9
BasePercentChanceOfSpoilSuccess = 78
MinimumPercentChanceOfSpoilSuccess = 1
CanDelevelToSpoil = True
# SpoilLevelDifferenceLimit
# Maximum level difference between player and spoil level to allow before decreasing spoil chance.
SpoilLevelDifferenceLimit = 10
# LastLevelSpoilIsLearned
# If the player level is above LastLevelSpoilIsLearned, it will be assumed that the player level
# is LastLevelSpoilIsLearned for calculations on success rate
# 72 = spoil lvl 11 (c3)
LastLevelSpoilIsLearned = 72

View File

@ -0,0 +1,60 @@
# =========================================== #
# L2Build Dev. Team #
# =========================================== #
#-------------------------------------------------------------
# Seven Signs Configuration File
# Adjusting this file will effect the way your seven signs runs
# Do so only if you want to run diffrent to retail
#-------------------------------------------------------------
# Sign up Rules
# Require a player to be in a castle/alliance-owning clan to be able to sign for Dawn.
AltRequireCastleForDawn = False
# Determines whether castle ownership is determined by clan or by alliance.
# Default is by alliance, as on official servers.
AltRequireClanCastle = False
#-------------------------------------------------------------
# Festival Rules.
#-------------------------------------------------------------
# Minimum Players for participate in SevenSigns Festival.
# Default : 5
AltFestivalMinPlayer = 5
# Maximum contribution per player during festival
# /!\ This value is NOT impacted by server drop rate.
AltMaxPlayerContrib = 1000000
# Festival Manager Start time.
# Default : 2 minutes
AltFestivalManagerStart = 120000
# Festival Length.
# Default : 18 minutes
AltFestivalLength = 1080000
# Festival Cycle Length.
# Default : 38 Minutes (20 minutes wait time, + Festival time)
AltFestivalCycleLength = 2280000
# At what point the first festival spawn occures.
# Default : 2 minutes
AltFestivalFirstSpawn = 120000
# At what Point the first festival swarm occures.
# Default : 5 minutes
AltFestivalFirstSwarm = 300000
# At what Point the Second Festival spawn occures.
# Default : 9 minutes
AltFestivalSecondSpawn = 540000
# At what Point the Second Festival Swarm occures.
# Default : 12 minutes
AltFestivalSecondSwarm = 720000
# At what point the Chests Spawn in.
# Default : 15 minutes
AltFestivalChestspawn = 900000

View File

@ -0,0 +1,109 @@
# =========================================== #
# L2Build Dev. Team #
# =========================================== #
#Quick hack up Siege data file, plz dont use any spaces.
#Length of siege before the count down (in minutes)
SiegeLength=120
#Count down length, best to use a multiple of 5 (in minutes)
CountDownLength=10
#Max no. flags per clan
MaxFlags=1
#Minimum level to register
SiegeClanMinLevel=4
#Max no. of clans that can register on each side
AttackerMaxClans=500
DefenderMaxClans=500
#Respawn times in ms
AttackerRespawn=0
#Castle Artifacts and Control Towers spawns
#
#Control Towers syntax: NameControlTowerN=x,y,z,npc_id,hp
# Name - castle name
# N - number
# x,y,z - coords
# npc_id - id of template
# hp - maximum health
#
#Artifacts syntax: NameArtefactN=x,y,z,heading,npc_id
# Name - castle name
# N - number
# x,y,z - coords
# heading
# npc_id - id of template
#-------------------------------------------------------------
# Gludio
#-------------------------------------------------------------
GludioControlTower1=-18134,109785,-2683,12314,8000
GludioControlTower2=-18137,108583,-2379,12314,20000
GludioControlTower3=-18061,107294,-2409,12314,8000
GludioControlTower4=-18359,112879,-2409,12314,8000
GludioArtefact1=-18120,107984,-2483,16384,7250
#-------------------------------------------------------------
# Giran
#-------------------------------------------------------------
GiranControlTower1=118623,145150,-2476,12314,10000
GiranControlTower2=117339,145051,-2446,12314,30000
GiranControlTower3=116116,145016,-2750,12314,10000
GiranControlTower4=113049,144849,-2476,12314,10000
GiranArtefact1=117939,145090,-2550,32768,12154
#-------------------------------------------------------------
# Dion
#-------------------------------------------------------------
DionControlTower1=22158,161167,-2573,12314,8000
DionControlTower2=22138,159901,-2877,12314,20000
DionControlTower3=22027,162449,-2603,12314,80000
DionControlTower4=22319,156863,-2603,12314,8000
DionArtefact1=22081,161771,-2677,49017,12123
#-------------------------------------------------------------
# Oren
#-------------------------------------------------------------
OrenControlTower1=83416,37164,-2173,12314,10000
OrenControlTower2=82129,37131,-2477,12314,30000
OrenControlTower3=84709,37234,-2203,12314,10000
OrenControlTower4=79103,36942,-2203,12314,10000
OrenArtefact1=84014,37184,-2277,16384,12242
#-------------------------------------------------------------
# Aden
#-------------------------------------------------------------
AdenControlTower1=147455,5624,-911,12314,6000
AdenControlTower2=147460,1303,-176,12314,6000
AdenControlTower3=146158,6929,-426,12314,6000
AdenControlTower4=148755,6930,-426,12314,6000
AdenControlTower5=148775,2351,-426,12314,6000
AdenControlTower6=146137,2351,-426,12314,6000
AdenControlTower7=144954,1603,-494,12314,6000
AdenControlTower8=149976,1585,-494,12314,6000
AdenArtefact1=147465,1537,-373,16384,12291
#-------------------------------------------------------------
# Innadril
#-------------------------------------------------------------
InnadrilControlTower1=116062,248649,-973,12314,6000
InnadrilControlTower2=116037,249948,-669,12314,6000
InnadrilControlTower3=115977,251223,-699,12314,6000
InnadrilControlTower4=116261,245621,-699,12314,6000
InnadrilArtefact1=116031,250555,-798,49200,12602
#-------------------------------------------------------------
# Goddard
#-------------------------------------------------------------
GoddardControlTower1=147456,-46029,-1360,12314,6000
GoddardControlTower2=150183,-48201,-1744,12314,6000
GoddardControlTower3=144741,-48188,-1744,12314,6000
GoddardControlTower4=147477,-48516,-505,12314,6000
GoddardArtefact1=146601,-50441,-1505,32768,12831
GoddardArtefact2=148353,-50457,-1505,0,12832

41
config/game/logback.xml Normal file
View File

@ -0,0 +1,41 @@
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="net.sf.l2j.commons.logs.ConsoleLogLayout"/>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>log/java.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>java_%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="net.sf.l2j.commons.logs.FileLogLayout"/>
</encoder>
</appender>
<appender name="LOGIN" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="net.sf.l2j.loginserver.util.logging.LoginFilter"/>
<file>log/login.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>auth_%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="net.sf.l2j.commons.logs.ConsoleLogLayout"/>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
<appender-ref ref="LOGIN"/>
</root>
</configuration>

View File

@ -0,0 +1,24 @@
# =========================================== #
# Общественная доска
# =========================================== #
# Тип доски
# - Full = полный функционал
# - Old = старый тип доски, работает не весь функционал
# - off = доска отключена
CommunityType = full
BBSDefault = _bbshome
# Маленькая статистика
ShowLevelOnCommunityBoard = false
ShowStatusOnCommunityBoard = false
NamePageSizeOnCommunityBoard = 50
NamePerRowOnCommunityBoard = 5
# =========================================== #
# Npc Gatekeeper - Global Teleport
# =========================================== #
EnableGatekeeper = true
GatekeeperDialogId = 50006
GateKeeperUseBBS = true
GateKeeperExcludeOn = ALL ATTACK PVP PEACE SIEGE OLYMPIAD TVT
GateKeeperPrice = 1

View File

@ -0,0 +1,66 @@
# =========================================== #
# Java-Build Dev. Team #
# =========================================== #
# Включить стартовые предметы персонажам?
AllowStartingCustomItems = false
# Стартовые предметы для войнов.
StartingCustomItemsFighter = 219,1;26,1;34,1;44,1;1835,10
# Стартовые предметы для магов.
StartingCustomItemsMage = 100,1;44,1;1101,1;1104,1;3947,10
# Окно приветствия при входе в игру?
# game/data/html/welcome.htm
HtmWelcome = false
# Показывать в чате шанс прохождения скилов
ViewSkillChance = false
# Снимать баффы/дебаффы после смерти
ClearEffectsAfterDeath = true
# 1.Титул новым игрокам
# 2.Что писать в титуле
NewbieSetTitle = false
NewbieTitle = ServerName
# Включить бесконечные соски?
DontUseShots = false
# Включить бесконечные стрелы?
DontUseArrows = false
# Все новые чары получают статус нублеса?
AutoNoblesseAtLogin = false
# =========================================== #
# Настройки времени баффа
# =========================================== #
# Включить функцию
EnableModifySkillDuration = false
SkillDurationList = 1085,7200;1062,7200;1243,7200;1045,7200;1048,7200;\
1078,7200;1043,7200;1242,7200;1059,7200;1077,7200;1240,7200;1086,7200;\
1036,7200;1035,7200;1068,7200;1044,7200;1040,7200;1303,7200;1204,7200;\
1238,7200;364,7200;264,7200;268,7200;349,7200;265,7200;363,7200;305,7200;\
304,7200;267,7200;266,7200;269,7200;271,7200;276,7200;274,7200;275,7200;\
272,7200;277,7200;273,7200;310,7200;365,7200;4700,7200;4699,7200;4703,7200;\
4702,7200;1352,7200;1353,7200;1354,7200;1259,7200;1355,7200;1356,7200;\
1363,7200;1357,7200;1323,7200;1182,7200;1189,7200;1191,7200;1268,7200;\
307,7200;270,7200;306,7200;308,7200;1362,7200
# Награда за онлайн
# Включить награда за онлайн?
AllowAutoRewarder = false
# Интервал выдачи награды
# По умолчанию: 30 минут
AutoRewardDelay = 1800
# Id награды
AutoRewardID = 57
# Кол-во награды
AutoRewardCount = 1000
# Разрешить телепорт в города где проходит осада?
# По умолчанию: false
AllowSiegeTeleport = false

View File

@ -0,0 +1,208 @@
#================================================#
# Java-Build Dev. Team #
#================================================#
#================================================#
# Новогодний евент #
#================================================#
# Добавить дроп частей ёлки
CristmasAddDrop = false
# Проспавнить эвент-менеджеров
CristmasSpawnManager = false
# Шанс выпадения частей ёлки
CristmasDropChance = 10
# Время жизни ёлки
CristmasTreeLifeTime = 5
#================================================#
# Медали Бехтеля #
#================================================#
# Эвент Медали Бехтеля.
# В дроп мобам добавляются два типа медалей, собрав нужное количество которых игрок может обменять их на призы.
# Для получения призов используется первый тип медалей.
# Второй тип используется для поднятия уровня коллекционера. Чем выше уровень тем лучше призы.
# ================================================
# Добавить дроп медалей
MedalAddDrop = true
# Шанс выпадения медалей
# 1 - для Event - Medal
# 2 - для Event - Glittering Medal
Medal1DropChance = 10
Medal2DropChance = 2
# Проспавнить эвент-менеджеров
MedalSpawnManager = true
#================================================#
# L2Day (буквы) #
#================================================#
# Эвент буквы.
# В дроп мобам добавляются буквы, собрав нужные слова "LINEAGE II , CHRONICLE , THRONE" игрок может обменять их на подарки.
# ================================================
# Добавить дроп букв
L2DayAddDrop = false
# Шанс выпадения букв из мобов (в диапазоне от 0 до 1000, 1000=100%)
L2DayDropChance = 10
# Проспавнить эвент-менеджеров
L2DaySpawnManager = false
# Призами на эвенте являются:
# свитки L2Day , Благословенный Свиток Телепорта, Благословенный Свиток Воскрешения
# Свиток: Зачаровать Оружие (Ранг D, Ранг С, Ранг B, Ранг A)
# Кольцо Ядра, Кольцо Королевы Муравьев
# ================================================
# Шансы выпадения призов (в диапазоне от 0 до 1000, 1000=100%)
# шанс выпадения Свитков телепорта, Свитков Воскрешения по умолчанию 30%
L2DayScrollChs = 300
# Шанс выпадения "Свиток: Зачаровать Оружие", по умолчанию 10%
L2DayEnchScrollChs = 100
# Шанс выпадения Бижутерии по умолчанию 0.1%
L2DayAccScrollChs = 10
L2DayRewards=3931,3927,3928,3929,3926,3930,3933,3932,3935,3934
L2DayRewardsAccessorie=6662,6660
L2DayRewardsScroll=3958,3959
#================================================#
# Big Squash (Большие Тыквы) #
#================================================#
# Эвент Большие тыквы.
# В дроп мобам добавляется "Нектар", собрав который игрок может обменять его на семена тыкв и спец оружие.
# Причинить вред тыквам можно только этим оружием. Из семян можно вырастить тыкву. Убив ее спец оружием, получаем призы.
# Также тыквы можно поливать "Нектаром", в результате чего тыква может вырасти (несколько стадий роста).
# Есть тыквы которые можно убить только 2-м и более игрокам.
# ================================================
# Добавить дроп Нектара
BigSquashAddDrop = false
# шанс выпадения Нектара из мобов (в диапазоне от 0 до 1000, 1000=100%)
BigSquashDropChance = 10
# Кол-во нектаров требуемое за 1 маленькое семя
NectarForSmallSeed = 10
# Кол-во нектаров требуемое за 1 большое семя
NectarForLargeSeed = 20
# Кол-во нектаров требуемое за спец. оружие
SpecWeaponNectars = 20
# Проспавнить эвент-менеджеров
BigSquashSpawnManager = false
# Позволить выращивать тыквы из семян
BigSquashUseSeeds = false
#================================================#
# Перерождение игроков #
#================================================#
# Требовать определенные предметы для перерождения
RequiredItemsRebirth = false
# Id предмета
RebirthItemId = 4356
# Количество предметов
RebirthItemCount = 100
# Минимальный уровень для перерождение
RebirthMinLevel = 78
# Максимальное кол-во обнулений
RebirthMaxAllowed = 3
# Награждать статусом нублесса после перерождение
RebirthNoble = false
# Обнулять счетчик PK и Кармы после перерождение
RebirthNullPk = false
# Уровень игрока после перерождение [1-19 уровни, ставить не советую]
RebirthReturnToLevel = 20
# Предмет выдаваемый за обнуление
RebirthItems = 4356,1;4356,1;4356,1;
#================================================#
# Team vs. Team #
#================================================#
# Активировать эвент?
TvTEventEnabled = false
# Интервал между эвентами в минутах. 60 = 1 час
TvTEventInterval = 60
# Время регистрации на эвент в минутах
TvTEventParticipationTime = 5
# Длительность эвента в минутах
TvTEventRunningTime = 10
# Давать награду за каждое убийство на эвенте?
TvTKillReward = false
# Id награды
TvTKillRewardId = 3487
# Кол-во награды
TvTKillRewardCount = 1
# Настройки менеджера эвента (Тип Npc = L2TvTEventNpc)
TvTEventParticipationNpcId = 50004
TvTEventParticipationNpcCoordinates = 83425,148585,-3406
# Мин. и Макс. кол-во участников в одной команде
TvTEventMinPlayersInTeams = 1
TvTEventMaxPlayersInTeams = 20
# Мин. и Макс. уровень для участия в эвенте
TvTEventMinPlayerLevel = 1
TvTEventMaxPlayerLevel = 79
# Время восстановления игрока после смерти на эвенте
TvTEventRespawnTeleportDelay = 10
# Время телепорта в город после окончания эвента
TvTEventStartLeaveTeleportDelay = 10
# Название и координаты спауна 1-ой команды
TvTEventTeam1Name = Blue
TvTEventTeam1Coordinates = 148695,46725,-3414
# Название и координаты спауна 2-ой команды
TvTEventTeam2Name = Red
TvTEventTeam2Coordinates = 149999,46728,-3414
# Награда за победу в эвенте
# Формат ввода: itemId,itemCount;itemId,itemCount
# /!\ В конце не ставить знак ;
TvTEventReward = 57,100000;6673,100
# Разрешить брать игрок своей команды в таргет ?
TvTEventTargetTeamMembersAllowed = true
# Разрешить использовать баф свитки?
TvTEventScrollsAllowed = false
# Разрешить использовать банки?
TvTEventPotionsAllowed = false
TvTEventSummonByItemAllowed = false
# Participant's effects handling on teleport/death.
# Effects lasting through death never removed.
# 0 - always remove all effects.
# 1 - remove all effects only during port to event (noblesse blessing can be used)
# 2 - never remove any effect
# Default: 0
TvTEventEffectsRemoval = 0
# Закрывать двери колизея после старта эвента?
TvTCloseAllDoors = true
# Награждать обе команды если эвент закончился в ничью?
TvTRewardTeamTie = false

View File

@ -0,0 +1,71 @@
# =========================================== #
# Продвинутый Gm Shop #
# =========================================== #
# Id Вип карты
ShopVipCard = 4037
# Id предмета за покупку нубла
NoblesseItemId = 6673
# Кол-во предметов
NoblesseItemCount = 30
# Стоимость статуса героя
# (кол-во дней,цена;кол-во дней, цена)
HeroDaysPrice = 30,100
# Сообщение игроку о покупке премиума
MsgHeroTakeDays = You have obtain Hero status for %days% day
# Id предмета за покупку геройства
HeroItemId = 6673
# Id проедмета за покупка уровня клана
ClanLevelItemId = 57
# Кол-во предметов
ClanLevelItemCount = 0
# Id предмета за очистку PK
ClearPkItemId = 6673
# Кол-во предметов
ClearPkItemCount = 30
# Предмет который требуется для телепорта из гмшопа
TeleportItemId = 4037
# Кол-во предметов
TeleportItemCount = 1
# -------------------------------------------
# Npc Enchant Items -
# -------------------------------------------
# Npc Id = 56
# Enable Enchant Items NPC. Default: False
EnableNpcEnchantItems = true
# Level of Weapon and Armor enchantment.
WeaponEnchantLevel = 20
ArmorEnchantLevel = 16
# Price ID
IngredientID = 4037
# Price Weapon Count
IngredientAmountWeapon = 1
# Price Armor Count
IngredientAmountArmor = 1
# List of Items that cannot be enchanted.
NonEnchantableItemList = 0
ModifyItemEnchant = True
ModifyItemEnchantList = 0,0;
# =========================================== #
# Лотерея #
# =========================================== #
# Конфиги для обычных призов
# Id итема для игры в казино
CasinoItem = 6673
# Кол-во итемов для игры в казино
CasinoItems = 1
# Шанс в % что игрок выиграет приз
CasinoChanceWin = 30

View File

@ -0,0 +1,86 @@
# =========================================== #
# Java-Build Dev. Team #
# =========================================== #
# =========================================== #
# Оффлайн торговля/крафт
# =========================================== #
# Вкл/Выкл торговлю
OfflineTradeEnable = False
# Вкл/Выкл крафт
OfflineCraftEnable = False
# Восстанавливать торговцев/крафтеров после рестарта/отключения сервера?
RestoreOffliners = True
# Макс. кол-во дней которые можно провести в оффлайн трейде/крафте
OfflineMaxDays = 10
# По завершению торговли выкинуть из игры
OfflineDisconnectFinished = True
# Изменять цвет ника у трейдеров/крафтеров?
OfflineSetNameColor = False
# Цвет ника у трейдеров/крафтеров
OfflineNameColor = 808080
# =========================================== #
# Личные настройки игрока
# =========================================== #
# Включить/Выключить команду .menu/.cfg
AllowMenu = false
# Включить/Выключить разрешение менять настройку EXP?
AllowExpMenu = false
# Включить/Выключить разрешение менять настройку Автолута?
AllowLootMenu = false
# Включить/Выключить разрешение менять настройку блокировки пма?
AllowPmMenu = false
# Включить/Выключить разрешение менять настройку обмена?
AllowTradeMenu = false
# Включить/Выключить разрешение восстаналивать игрока?
AllowRepairMenu = false
# Включить/Выключить разрешение привязать персонажа по IP?
AllowIpBlockMenu = false
# Накрутка онлайна в окошке .menu/.cfg (Указывать в %)
UpOnline = 0
# =========================================== #
# Донат менеджер
# =========================================== #
# Покупка масимального уровня клана
MaxClanLvlItemId = 4356
MaxClanLvlItemCount = 1
# Очистка счетчика PK и кармы
ClearPKItemId = 4356
ClearPKItemCount = 1
# Покупка дворянства
NoblesseItemId = 4356
NoblesseItemCount = 1
# Сервис смены пола
GenderItemId = 4356
GenderItemCount = 1
# Изменение ника
ChangeNickItem = 4037
# Цена за смену ника игрока
ChangeNickItems = 1
# Допустимые символы в нике
NamePattern = .*
# Покупка цвета ника
NameColorItem = 4037
# Цена за смену цвета ника
NameColorItems = 1
# Начислить игроку 255 рекомендаций
RecommendationItemId = 4356
RecommendationItemCount = 1
# Стоимость статуса героя
# (кол-во дней,цена;кол-во дней, цена)
ServiceHeroItemId = 4037
ServiceHeroDaysPrice = 1,2;7,12;14,25;21,38;30,55
# Сообщение игроку о покупке премиума
ServiceMsgHeroTakeDays = You have obtain Hero status for %days% day
# Покупка премиум аккаунта на 1 день
Premium1ItemId = 4356
Premium1ItemCount = 1
# Покупка премиум аккаунта на 7 дней
Premium7ItemId = 4356
Premium7ItemCount = 4
# Покупка премиум аккаунта на 30 дней
Premium30ItemId = 4356
Premium30ItemCount = 15

View File

@ -0,0 +1,47 @@
# Драйвер
driverClassName = com.mysql.jdbc.jdbc2.optional.MysqlDataSource
# URL базы данных
# l2mariadb/l2db - (контейнер с mariadb)/(созданная БД внутри контейнера)
jdbcUrl = jdbc:mysql://l2mariadb/l2db?useUnicode=yes&characterEncoding=UTF-8
# Имя полльзователя
username = root
# Пароль
password = password
# Максимальное количество одновременных соединений
maximumPoolSize = 100
# Включить авто-коммит соединений, выдернутых из пула?
autoCommit = true
# Полученные соединения имеют режим "только для чтения"?
readOnly = false
# Максимальное время (мс), которое ожидает клиент до получения соединения
connectionTimeout = 30000
# Время жизни соединения в пуле
maxLifetime = 1800000
# Временной порог для обнаружения утечки
# По умолчанию: 0 [Обнаружение утечек выкл.]
leakDetectionThreshold = 0
# Остановить инициализацию пула, если невозможно наполнить пул начальным кол-вом соединений?
# Не имеет смысла, если "minimumIdle = 0"
initializationFailFast = false
# Использовать метод [JDBC4 Connection.isValid()] для проверки жизнеспособности соединения
jdbc4ConnectionTest = true
# Регистрировать JMX Management Beans?
registerMbeans = false
# Изолировать внутренние запросы?
isolateInternalQueries = false
# Минимальное количество начальных неиспользуемых соединений
minimumIdle = 10

View File

@ -0,0 +1,57 @@
# ---------------------------------------------------------
# Это конфигурационный файл сервера. Здесь вы можете настроить свойства связи вашего сервера.
# Обычно требуется изменить опцию ExternalHostname на
# - 127.0.0.1 (если вы играете/тестируете сервер на локальной машине)
# - LAN IP* (если вы хотите играть с другого компьютера сети)
# - WAN IP** (если вы хотите поиграть с друзьями через интернет)
#
# * = Если вы не знаете свой LAN IP, просто нажмите "Пуск" => "Выполнить..." и "cmd" => "ipconfig"
# **= Если вы не знаете свой WAN IP, посетите http://www.whatismyip.com
# ---------------------------------------------------------
# Укажите здесь (ip) адрес вашего Игрового Сервера, Или используйте символ *
GameserverHostname = *
GameserverPort = 7777
# Если ваш сервер опубликован с помощью NAT укажите здесь ваш ВНЕШНИЙ IP. Или используйте символ *
ExternalHostname = 127.0.0.1
# Если ваш сервер опубликован с помощью NAT укажите здесь ваш ВНУТРЕННИЙ IP. Или используйте символ *
InternalHostname = 127.0.0.1
# Связка логин и гейм сервера. Лучше не менять.
# l2login - наименование контейнера login
LoginHost = l2login
LoginPort = 9014
# This is the server id that the gameserver will request (i.e. 0 is Bartz)
RequestServerID = 0
# If set to true, the login will give an other id to the server if the requested id is allready reserved
AcceptAlternateID = True
# Директория датапака
# DatapackRoot = .
# Шаблон допустимых символов в никах
# Что бы разрешить все символы ставте .*
# CnameTemplate=[A-Z][a-z]{3,3}[A-Za-z0-9]*
# CnameTemplate=[A-Z][a-z]*
CnameTemplate = .*
PetNameTemplate = .*
# Макс. кол-во игроков на 1-ом акаунте
CharMaxNumber = 7
# Макс. кол-во онлайна на сервере
MaximumOnlineUsers = 500
# Мин. рев. протокола клиента и максимальная
# Придерживайтесь: MinProtocolRevision <= MaxProtocolRevision.
MinProtocolRevision = 656
MaxProtocolRevision = 665
# Показывать название сервера в скобках []
ServerListBrackets = False
# Показывать часы возле названия сервера
ServerListClock = False
# В игру могут войти только ГМы
ServerGMOnly = False

View File

@ -0,0 +1,3 @@
#the hexID to auth into login
#Sun Dec 12 12:05:39 MSK 2021
HexID=16ccbffaacd3864a9a93e17ae4a6a5a7

View File

@ -0,0 +1,19 @@
# =========================================== #
# L2Build Dev. Team #
# =========================================== #
#Telnet is disabled by default.
EnableTelnet = false
#This is the port telnet server will bind to
StatusPort = 12345
#If the following is not set, a random password is generated on server startup.
#StatusPW = somePass
#This list can contain IPs or Hosts of clients you wish to allow.
#Hosts must be resolvable to an IP.
#The format is as follows:
#ListOfHosts = 0.0.0.0,host,0.0.0.1,host2,host3,host4,0.0.0.3
#Make sure there are no spaces between hosts/ips
ListOfHosts = 127.0.0.1,localhost

View File

@ -0,0 +1 @@
# Configuration file for dynamic extensions

View File

@ -0,0 +1,19 @@
# Allows selection of new Classes for storage of World Objects.
# This may help servers with large amounts of players recieving error
# messages related to the L2ObjectHashMap and L2ObejctHashSet classes.
#
# By default it uses the new method, to use the old classes add the
# comment at the front of each line.
L2Map = WorldObjectMap
L2Set = WorldObjectSet
# Tell server which IDFactory Class to use
# Options are:
# Compaction (Original method),
# BitSet (One non compaction method - default),
# Stack (Another non compaction method)
IDFactory = BitSet
# Check for bad ids in the database on server boot up
# Much faster load time without it, but may cause problems
BadIdChecking = True

View File

@ -0,0 +1,7 @@
#Olympiad Properties
#Wed Nov 25 18:19:50 EET 2015
CurrentCycle=1
NextWeeklyChange=1449073170739
OlympiadEnd=1448964000739
ValidationEnd=0
Period=0

View File

@ -0,0 +1,170 @@
# =========================================== #
# Java-Build Dev. Team #
# =========================================== #
# =========================================== #
# L2Top
# =========================================== #
# Включить функцию получения наград за голос в L2Top ?
L2TopDeamonEnabled = false
# Ссылка на ваш сервер в L2Top.
L2TopDeamonURL =
# 1 - ID Предмета, который будет использовать в качестве награды.
# 2 - Минимальное количество предмета, которое будет выдано в качестве награды.
# 3 - Максимальное количество предмета, которое будет выдано в качестве награды.
# 2 и 3 идут рандомно. Игроку в игре может выдать и 1 и 10 сразу. Неизвестно.
# Лучше ставить одинаковое количество на Мин. и Макс. значениях.
L2TopDeamonRewardItem = 57
L2TopDeamonMin = 1
L2TopDeamonMax = 10
# Сообщение в игре после удачного голосования.
L2TopDeamonMessage = Спасибо за голосование !
# Без описания
L2TopDeamonPollInterval = 5
L2TopDeamonPrefix =
L2TopDeamonDoNotRewardAtFirstTime = false
# =========================================== #
# MMMOTop
# =========================================== #
# Включить функцию получения наград за голос в MMOTop ?
MMOTopEnable = False
# Ссылка на ваш сервер в MMOTop.
MMOTopUrl =
# 1 - ID Предмета, который будет использовать в качестве награды.
# 2 - Количество предмета, которое будет выдано в качестве награды.
MMOTopRewardItemId = 57
MMOTopRewardItemCount = 1
# Без Описания
MMOTopRefreshTime = 10
# =========================================== #
# Настройки безопасности
# =========================================== #
# Проверка на максимальное кол-во итемов в инвентаре игрока
EnableItemsGuard = false
# Банить игрока за превышение допустимого кол-ва итемов в сумке или удалять итемы из сумки
# treu = забанить игрока/false = удалить итемы из сумки
GuardPunishAction = false
# Список предметов и кол-во которое можно носить в инвентаре
# Формат: item_id,count;item_id,count
GuardItemsMax = 4356,1000;4037,1000;6673,1000
# Интервал проверки наличия и количества предметов
# Указывать в минутах
ItemsGuardInterval = 10
# Если включено, не будут забираться деньги за депозит в вх
FreeWareHouseDeposit = false
# Запретить передавать стопковые предметы питомцам
GivePetStackableItems = false
# Разрешить класть на склад стопковые предметы (своего рода, защита от дюпа на высокорейтовых серверах)
DepositStackableItems = false
# Включить/Отключить список итемов которые запрещено класть в хранилище
EnableDepositProtection = false
# Список предметов которые запрещено класть в хранилище
ListNonDepositItems = 3470,4037,4356
# Вторичный пароль на персонажа
EnableSecondPassKey = false
# Список запрещенных ников
RestrictedCharNames = admin,gm,administrator
# Анти-Бот система
# Включить Анти-Бот Систему?
AllowSecurityQuestion = false
# Интервал времени между вопросами ?
SecurityTime = 20
# Включить Анти-АФК систему?
AllowAntiAfk = false
# Интервал времени между вопросами ?
AntiAfkMinutes = 20
# Включить систему проверки отдельных игроков,которые точатся или подымают предметы ?
AllowPrivateAntiBot = false
# С каким шансом будет выпадать проверка отдельных игроков?
# Указывать в %
PrivateBotChance = 15
# Player punishment for illegal acions
# 1 - broadcast warning to gms only
# 2 - kick player(default)
# 3 - kick & ban player
# 4 - jail player (define minutes of jail with param: 0 = infinite)
DefaultPunish = 2
DefaultPunishParam = 0
# Bypass exploit protection
BypassValidation = True
# Enforce gameguard for clients
# GameGuardEnforce - enforces gameguard query on character login
# GameGuardProhibitAction - dont allow player to perform trade, talk with npc
# and move until gameguard reply received
GameGuardEnforce = false
GameGuardProhibitAction = false
# Check players for non-allowed skills
# Default: false
SkillCheckEnable = false
# Allow L2Walker (Default false)
AllowL2Walker = false
# Интервал использования предметов
UseItemDelay = 5
# Интервал отпраки сообщений в геройский чат
HeroVoiceDelay = 100
# Интервал покупки в мультеселах
MultisellDelay = 5
# Интервал смены саб-класса
SubClassDelay = 100
# Интервал выбрасывания предметов на пол
DropItemDelay = 10
# Интервал использования байпасов
ByPassDelay = 5
#
# System settings
#
#Packet LifeTime in milliseconds, 0 - disabled feature
PacketLifeTime = 0
#Dead Lock Detector (a separate thread for detecting deadlocks)
#For improved crash logs and automatic restart in deadlock case if enabled
#Check interval is in seconds
DeadLockDetector = false
DeadLockCheckInterval = 20
RestartOnDeadlock = false
# Threads configuration - Take care changing this
ThreadPoolSizeEffects = 10
ThreadPoolSizeGeneral = 13
#Default 2
UrgentPacketThreadCoreSize = 2
#Default 4
GeneralPacketThreadCoreSize = 4
#Default 4
GeneralThreadCoreSize = 4
AiMaxThread = 6
# Thread pools execution priority
# default values are -1,0,1 (low/med/high pools)
ExecutorPriLow = -1
ExecutorPriMed = 0
ExecutorPriHigh = 1

41
config/login/logback.xml Normal file
View File

@ -0,0 +1,41 @@
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="net.sf.l2j.commons.logs.ConsoleLogLayout"/>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>log/java.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>java_%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="net.sf.l2j.commons.logs.FileLogLayout"/>
</encoder>
</appender>
<appender name="LOGIN" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="net.sf.l2j.loginserver.util.logging.LoginFilter"/>
<file>log/login.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>auth_%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="net.sf.l2j.commons.logs.ConsoleLogLayout"/>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
<appender-ref ref="LOGIN"/>
</root>
</configuration>

View File

@ -0,0 +1,47 @@
# Драйвер
driverClassName = com.mysql.jdbc.jdbc2.optional.MysqlDataSource
# URL базы данных
# l2mariadb/l2db - (контейнер с mariadb)/(созданная БД внутри контейнера)
jdbcUrl = jdbc:mysql://l2mariadb/l2db?useUnicode=yes&characterEncoding=UTF-8
# Имя полльзователя
username = root
# Пароль
password = password
# Максимальное количество одновременных соединений
maximumPoolSize = 100
# Включить авто-коммит соединений, выдернутых из пула?
autoCommit = true
# Полученные соединения имеют режим "только для чтения"?
readOnly = false
# Максимальное время (мс), которое ожидает клиент до получения соединения
connectionTimeout = 30000
# Время жизни соединения в пуле
maxLifetime = 1800000
# Временной порог для обнаружения утечки
# По умолчанию: 0 [Обнаружение утечек выкл.]
leakDetectionThreshold = 0
# Остановить инициализацию пула, если невозможно наполнить пул начальным кол-вом соединений?
# Не имеет смысла, если "minimumIdle = 0"
initializationFailFast = false
# Использовать метод [JDBC4 Connection.isValid()] для проверки жизнеспособности соединения
jdbc4ConnectionTest = true
# Регистрировать JMX Management Beans?
registerMbeans = false
# Изолировать внутренние запросы?
isolateInternalQueries = false
# Минимальное количество начальных неиспользуемых соединений
minimumIdle = 10

View File

@ -0,0 +1,66 @@
# ---------------------------------------------------------
# Это конфигурационный файл сервера. Здесь вы можете настроить свойства связи вашего сервера.
# Обычно требуется изменить опцию ExternalHostname на
# - 127.0.0.1 (если вы играете/тестируете сервер на локальной машине)
# - LAN IP* (если вы хотите играть с другого компьютера сети)
# - WAN IP** (если вы хотите поиграть с друзьями через интернет)
#
# * = Если вы не знаете свой LAN IP, просто нажмите "Пуск" => "Выполнить..." и "cmd" => "ipconfig"
# **= Если вы не знаете свой WAN IP, посетите http://www.whatismyip.com
# ---------------------------------------------------------
# =========================================== #
# Сетевые настройки
# =========================================== #
# Внешний Ip адрес
ExternalHostname = 127.0.0.1
# Внутренний Ip адрес
InternalHostname = 127.0.0.1
# 1 - Адрес на котором прослушивается логин сервер
# * - все доступные
# 2 - Порт логин сервера на который подключается клиент
LoginserverHostname = *
LoginserverPort = 2106
# Если пароль введен не верне n-ое кол-во раз его забанит на несколько минут
LoginTryBeforeBan = 20
# На сколько банить вход на акаунт после не правильного ввода пароля
LoginBlockAfterBan = 600
GMMinLevel = 100
# Порт логин сервера для игровых серверов
LoginPort = 9014
# Разрешить автоматическую регистрацию новых серверов
AcceptNewGameServer = False
# Отображать лицензионное соглашение после авторизации
# Даная опция присылает клиенту 2 дополнительных ключа при авторизации
# Если вы ее отключаете, и у вас ухитрились залезсть с подменой ака, то потом не жалуйтесь.
ShowLicence = True
# Автоматически регистрировать аккаунты
AutoCreateAccounts = true
# Проверять регистарцию игровых серверов каждые x минут
IpUpdateTime = 15
# =========================================== #
# Настройки для тест сервера
# =========================================== #
Debug = False
Assert = False
Developer = False
# Проверка клиента на наличие GameGuard
ForceGGAuth = True
# Защита от флуда
EnableFloodProtection = True
FastConnectionLimit = 15
NormalConnectionTime = 700
FastConnectionTime = 350
MaxConnectionPerIP = 50

View File

@ -0,0 +1,19 @@
# =========================================== #
# L2Build Dev. Team #
# =========================================== #
#Telnet is disabled by default.
EnableTelnet = false
#This is the port telnet server will bind to
StatusPort = 12345
#If the following is not set, a random password is generated on server startup.
#StatusPW = somePass
#This list can contain IPs or Hosts of clients you wish to allow.
#Hosts must be resolvable to an IP.
#The format is as follows:
#ListOfHosts = 0.0.0.0,host,0.0.0.1,host2,host3,host4,0.0.0.3
#Make sure there are no spaces between hosts/ips
ListOfHosts = 127.0.0.1,localhost

64
docker-compose.yml Normal file
View File

@ -0,0 +1,64 @@
version: "3.7"
services:
l2login:
image: "l2login"
build:
context: .
dockerfile: Dockerfile.login
restart: "always"
container_name: "l2login"
cap_add:
- SYS_NICE
ports:
- "2106:2106"
networks:
- "l2_net"
volumes:
- "/var/volumes-data/lineage2/login/log:/opt/login/log"
- "./config/login:/opt/login/config"
depends_on:
- "l2mariadb"
l2game:
image: "l2game"
build:
context: .
dockerfile: Dockerfile.game
restart: "always"
container_name: "l2game"
ports:
- "7777:7777"
networks:
- "l2_net"
volumes:
- "/var/volumes-data/lineage2/game/log:/opt/game/log"
- "./config/game:/opt/game/config"
depends_on:
- "l2mariadb"
l2mariadb:
image: "mariadb:latest"
restart: "always"
container_name: "l2mariadb"
environment:
MYSQL_ROOT_PASSWORD: "password"
networks:
- "l2_net"
volumes:
- "/var/volumes-data/lineage2/db:/var/lib/mysql"
l2adminer:
image: "adminer"
restart: "always"
container_name: "l2adminer"
ports:
- "8081:8080"
networks:
- "l2_net"
depends_on:
- "l2mariadb"
networks:
l2_net:
name: "l2_net"

BIN
img/create_db.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
img/game.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 KiB

BIN
img/import_backup.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
img/l2_file_editor.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

BIN
img/login_db.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
l2.sql.gz Normal file

Binary file not shown.