[PW] Гайды Файловая структура и принцип работы сервера PW

  • Автор темы Автор темы Andrey
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.

Andrey

Я админ,смекаешь?
Команда форума
Админ
Зануда
Проверенный
Местный
GACD (Game Anti-Cheat Daemon) - из названия понятно что это античит. Принцип его работы не известен, но судя по всему нужно как то настраивать gacd.xml для работы с процессом игры.

ФайлНазначение
[tr1][td]gamesys.conf[/td][td]Базовая конфигурация[/td][/tr1][tr2][td]gacd.xml[/td][td]Судя по всему, набор правил для поиска читов[/td][/tr2]



GameD - ядро сервера pw, отвечает за локации и большинство функций в игре

ФайлНазначение
[tr1][td]gmserver.conf, ptemplate.conf[/td][td]Базовая настройка сервиса[/td][/tr1][tr2][td]gs.conf, gsalias.conf[/td][td]Настройка локаций, названий и путей основных файлов[/td][/tr2]

В папке config:

ФайлНазначение
[tr1][td]aipolicy.data[/td][td]...[/td][/tr1][tr2][td]elements.data[/td][td]Все итемы, нипы, реццепты, мобы и тд[/td][/tr2][tr1][td]tasks.data, dyn_tasks.data[/td][td]Квесты[/td][/tr1][tr2][td]world_targets.sev[/td][td]Точки телепорта через руну или нипа[/td][/tr2][tr1][td]extra_drops.sev[/td][td]Дополнительная настройка дропа с мобов (помимо elements.data)[/td][/tr1][tr2][td]rare_item.conf[/td][td]При получении шмотки пишет в чат[/td][/tr2][tr1][td]gshopsev.data, gshopsev1.data[/td][td]Шоп и ивент шоп[/td][/tr1]

Все остальные папки это локации:

ФайлНазначение
[tr1][td]npcgen.data[/td][td]Точки респа мобов, нипов, ресурсов, динамических объектов[/td][/tr1][tr2][td]path.sev[/td][td]Пути по которым идут мобы\нипы[/td][/tr2][tr1][td]precinct.sev[/td][td]Точка респа перса после смерти[/td][/tr1][tr2][td]region.sev[/td][td]Пис зоны, зоны телепорта в данжи[/td][/tr2][tr1][td]map.bht[/td][td]Основной файл каждой локации (хотя локации запускаются даже если его удалить:Fox02:)[/td][/tr1]



GamebdD - игровая база, которая содержит всю информацию о персонажах на сервере

ФайлНазначение
[tr1][td]gamesys.conf[/td][td]Базовая конфигурация[/td][/tr1][tr2][td]clsconfig[/td][td]Стартовые персонажи (те которые при создании)[/td][/tr2][tr1][td]fix.sh[/td][td]Есть в некоторых версиях, типо фикс базы (на деле лично мне ни разу не помогло)[/td][/tr1]



GdeliveryD - отвечает за большинство крупных ивентов (тв, бд).

ФайлНазначение
[tr1][td]gamesys.conf[/td][td]Базовая конфигурация[/td][/tr1][tr2][td]auctionid.txt[/td][td]Список итемов на ауке[/td][/tr2][tr1][td]domain.sev, domain2.sev, domain2_cross.sev[/td][td]Файлы ТВ и БД[/td][/tr1][tr2][td]filters[/td][td]Фильтр символов\слов которые используются в имени при создании перса[/td][/tr2][tr1][td]sysauctionlist.txt[/td][td]Системный аукцион[/td][/tr1]



GfactionD - отвечает за кланы и все что с ними связано.

ФайлНазначение
[tr1][td]gamesys.conf[/td][td]Базовая настройка сервиса[/td][/tr1][tr2][td]filters[/td][td]Фильтр символов\слов которые используются в имени при создании клана[/td][/tr2]



GlinkD - сервис отвечающий за коннект игроков на сервер.

ФайлНазначение
[tr1][td]gamesys.conf[/td][td]Базовая настройка сервиса[/td][/tr1]



Logservice - из названия понятно, что это логгер всех событий которые происходят на сервере.

ФайлНазначение
[tr1][td]logservice.conf[/td][td]Базовая настройка сервиса и путей до логов, а так же уровень логирования[/td][/tr1]



UniquenameD - сервис для хранения имен персонажей (на самом деле не понятно зачем нужен отдельный сервис если можно было все хранить в gamedbd).

ФайлНазначение
[tr1][td]gamesys.conf[/td][td]Базовая настройка сервиса[/td][/tr1]


Сервисы которых нет в стандартных сборках ;)
loader, servicerun - вроде как они нужны для правильного запуска сервера и слежения за авто подъемом упавших локаций\сервисов, но настроить их нормально так и не получилось:Pig01:


Примерная схема связи между сервисами:
[andrey.pw]index.png



Параметры основных конфигов:
Coming SOON!



p.s
Постепенно все будет дополняться и изменяться (что и где естественно будет написано ниже), если хотите что то предложить или дополнить, пишите в ЛС.
 
Часть 2 "Конфиги сервисов"
Во всех конфигах есть основные настройки соединения между сервисами, например:
Сервис-сервер
[GAuthServer]
type = tcp
port = 29200
address = 127.0.0.1
so_sndbuf = 131072
so_rcvbuf = 131072
ibuffermax = 819200
obuffermax = 819200
tcp_nodelay = 1
listen_backlog = 10
mtrace = /tmp/mtrace.authd
isec = 2
iseckey = baxiykbpn3fxLqpsdpiodI4iazqjdl
osec = 2
oseckey = baxixD0awqydOtrxjxr8uhzaslmnqh
shared_key = baxiIvunkjfjlj0Ckgxzzdfpess5vw
И сервис-клиент
[GAuthClient]
type = tcp
port = 29200
address = 127.0.0.1
so_sndbuf = 65536
so_rcvbuf = 65536
ibuffermax = 1048576
obuffermax = 131072
;so_broadcast = 1
tcp_nodelay = 0
accumulate = 131072
isec = 2
iseckey = baxixD0awqydOtrxjxr8uhzaslmnqh
osec = 2
oseckey = baxiykbpn3fxLqpsdpiodI4iazqjdl
shared_key = baxiIvunkjfjlj0Ckgxzzdfpess5vw
token_login_support = 0
au_cert = false
token_login_support = false
Основные параметры:

ПараметрВозможные значенияОписание
[tr1][td]type[/td][td]tcp, udp[/td][td]Тип протокола[/td][/tr1][tr2][td]port[/td][td]1-65535[/td][td]Порт сервиса[/td][/tr2][tr1][td]address[/td][td]any ipv4[/td][td]Адресс на котором будут слушаться соединения (0.0.0.0 для автовыбора ип адреса, 127.0.0.1 для доступа только из локальной сети)[/td][/tr1][tr2][td]so_sndbuf[/td][td]any int32?[/td][td]Размер буфера отправки пакетов[/td][/tr2][tr1][td]so_rcvbuf[/td][td]any int32?[/td][td]Размер буфера приема пакетов[/td][/tr1][tr2][td]ibuffermax[/td][td]any int32?[/td][td]Размер буфера приема?[/td][/tr2][tr1][td]obuffermax[/td][td]any int32?[/td][td]Размер буфера отправки?[/td][/tr1][tr2][td]tcp_nodelay[/td][td]0, 1[/td][td] https://ru.wikipedia.org/wiki/Алгоритм_Нейгла [/td][/tr2][tr1][td]so_broadcast[/td][td]0, 1[/td][td]Указывает на то, что пакеты будут широковещательные[/td][/tr1][tr2][td]listen_backlog[/td][td]any int32[/td][td]Кол-во одновременных подключений[/td][/tr2][tr1][td]token_login_support, au_cert[/td][td]true, false[/td][td]Соединения между сервисами с помощью сертификатов?[/td][/tr1]

Дополнительные параметры конфигов:
gamedbd gamesys.conf

ПараметрВозможные значенияОписание
[tr1][td]homedir, datadir [/td][td]путь к папке[/td][td]Папка с файлами базы данных[/td][/tr1][tr2][td]checkpoint_interval[/td][td]any int32[/td][td]Как мне кажется интервал сохранения бд[/td][/tr2][tr1][td]noimportclsconfig[/td][td]0, 1[/td][td]Включает\выключает импорт стартовых персов из файла clsconfig[/td][/tr1][tr2][td]delete_timeout[/td][td]any int32[/td][td]Время удаления персов (в секундах)[/td][/tr2]

gdeliveryd gamesys.conf

ПараметрВозможные значенияОписание
[tr1][td]battlefield[/td][td]0, 1[/td][td]Включение\отключение ТВ[/td][/tr1][tr2][td]sellpoint[/td][td]0, 1[/td][td]Аукцион[/td][/tr2][tr1][td]pvp[/td][td]0, 1[/td][td]Включает\выключает кнопку PvP в клиенте[/td][/tr1]

Кратко у других разделах в конфиге gdeliveryd

ПараметрОписание
[tr1][td]BattleBonus[/td][td]Настройка ТВ[/td][/tr1][tr2][td]GameTalkClient[/td][td]Голосовой чат GameTalk, но полной его серверной части в шаре нет[/td][/tr2][tr1][td]COUNTRYBATTLE[/td][td]Битва Династий[/td][/tr1][tr2][td]CentralDeliveryServer и CentralDeliveryClient[/td][td]Межсерверная БД[/td][/tr2][tr1][td]TANKBATTLE[/td][td]Битва колесниц[/td][/tr1]

glinkd gamesys.conf

ПараметрВозможные значенияОписание
[tr1][td]version[/td][td]any int32[/td][td]Версия для проверки с клиентской, по сути вместо точки просто пишется 0 (1.5.1=10501)[/td][/tr1]

logservice logservice.conf

ПараметрВозможные значенияОписание
[tr1][td]threshhold[/td][td]LOG_DEBUG, LOG_INFO, LOG_NOTICE, LOG_WARNING, LOG_WARN, LOG_ERR, LOG_ERROR, LOG_CRIT, LOG_ALERT, LOG_EMERG[/td][td]Уровень логирования[/td][/tr1]
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху