1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

1.4.4 gs как независимый демон

Тема в разделе 'PW Вопросник', создана пользователем Fituchini, 25 май 2016.

  1. TopicStarter Overlay

    Fituchini Пользователи

    Сообщения:
    339
    Лайки:
    71
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    PWAA
    Страна:
    Russian Federation Russian Federation
    Доброго дня Уважаемые.
    Созрел вопрос. (только не надо спрашивать: "зачем тебе оно надо")
    Как известно каждый демон работает независимо друг от друга, при этом связан в логическую цепочку.
    Читал гайд, как glink вывести на сторонний сервер отдельно.

    Так вот. Как gs вывести на отдельный сервер? теоретически просто. Просто указать нужный путь.
    Но на деле беда.
    суть такова. Имеется два одинаковых сервера. Две копии. Что в одном что во втором запущены все игровые службы, но как одному из них дать понять что демон GS работает на другом сервере?
    или вывести GS вообще на отдельный сервер для двух серверов. Чтобы синхронизация открытых данжей была.
    P.S. и что будет если версии будут отличаться? например 1.3.6 и 1.5.1? Ну я предполагаю Линк.

    Вот как я это вижу
    Безымянный - paint.net версия 4.0.9.jpg
    Безымянный - paint.net версия 4.0.92.jpg

    Я как понимаю GS будет использоваться как независимый демон. что ,Даст разгрузку на машине.
  2. gosha1952 B L A C K    L I S T Пользователи

    Сообщения:
    317
    Лайки:
    161
    Репутация:
    2
    Команда:
    0
    Нужно поменять вроде только порты и ип адреса в конфигах сервисов чтобы приконетить остальные сервисы к гсу и гс к ним.
    У разных версий разные пакеты с помощью которых сервисы связываются друг с другом, даже если и удастся переписать эти пакеты то всё ровно будет линк или просто некоторые функции не будут работать.
  3. TopicStarter Overlay

    Fituchini Пользователи

    Сообщения:
    339
    Лайки:
    71
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    PWAA
    Страна:
    Russian Federation Russian Federation
    Какие именно конфиги править? чтобы прицепиться к ГС.
    Тупанул. Линк будет да, если разных версий сервисы. Чёт я нубнул:|

    И в gs.conf за что отвечает конфиг
    Код:
    [MsgTCPSession]
    type            =    tcp
    address            =    127.0.0.1
    port            =    12341
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    tcp_nodelay        =    0
    
    
    [MsgUNIXSession]
    type            =    unix
    address            =    /tmp/foo
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ???
  4. gosha1952 B L A C K    L I S T Пользователи

    Сообщения:
    317
    Лайки:
    161
    Репутация:
    2
    Команда:
    0
    В gs.conf вроде не надо менять ничего.
    В gmserver.conf порты к которым конетятся сервисы.
    Поставьте там ип адрес у портов 29301-29308 той машины на которой гс, либо ип 0.0.0.0 (на гс отправляются пакеты от глинка через эти порты).
    Дальше поменяйте в glink/gamesys.conf ип адреса той машины на которой gs.
    Далее та же процедура с остальными сервисами где используются эти порты.
    Также имейте ввиду что если к данным портам приконетиться кто-то другой то у вас могут быть большие проблемы с сервером.
    Могут отправить на гс свои пакеты.
    Последнее редактирование: 25 май 2016
    Homriel нравится это.
  5. apfilipp AngeliCore Пользователи

    Сообщения:
    66
    Лайки:
    53
    Пол:
    Мужской
    Репутация:
    1
    Ядро и есть независимый демон. Его можно вынести на отдельную машину, благо архитектура позволяет. Требуется лишь в некоторых конфигах изменить IP адреса.
    PS. Все демоны сервера PW независимы и спокойно разносятся по разным машинам.
  6. Deron Old school Пользователи

    Сообщения:
    1.123
    Лайки:
    533
    Пол:
    Мужской
    Репутация:
    4
    Пробовал я как-то глинк вынести, обломался.
  7. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    753
    Лайки:
    1.311
    Пол:
    Мужской
    Репутация:
    6
    Все выносится, главное правильно настроить все конфиги. Про gsalias.conf не забудь для связи между разными данжами.
  8. TopicStarter Overlay

    Fituchini Пользователи

    Сообщения:
    339
    Лайки:
    71
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    PWAA
    Страна:
    Russian Federation Russian Federation
    Чего то я видимо не понял. Вот код gmserver.conf который в /etc/
    а что с gsalias.conf делать? я не понял. Я просто всю папку \conf\ на демоне оставлю. всё что есть в \gamed\
    --- добавлено: 25 май 2016 в 20:16 ---
    я предполагаю что правку нужно делать только в файле host
    Код:
    127.0.0.1 gmserver
    10.0.2.15 dbserver
    какой то из них.

    и вопрос. Сам gs демон использует какой-нибудь порт?
    Последнее редактирование модератором: 2 июн 2016
  9. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    753
    Лайки:
    1.311
    Пол:
    Мужской
    Репутация:
    6
    Для начала нужно четкое понимание, что такое клиент и сервер. Тогда будет не сложно пройтись по всем конфигам сервера и внести нужные правки (и это не только в gamed, а в остальных сервисах тоже). Практически каждый сервис работает и как клиент (подключается к другим сервисам) и как сервер (принимает коннекты от других сервисов).
    Этот файл там не нужен, это из каких-то "умных" сборок.
  10. TopicStarter Overlay

    Fituchini Пользователи

    Сообщения:
    339
    Лайки:
    71
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    PWAA
    Страна:
    Russian Federation Russian Federation
    Понимание есть. Я не знаю за что отвечают многие службы
    Например вот что это за служба и за что она отвечает хз
    Код:
    [GProviderServer1]
    type            =    tcp
    port            =    29301
    address            =    127.0.0.1
    so_sndbuf        =    65536
    so_rcvbuf        =    65536
    ibuffermax        =    1048576
    obuffermax        =    1048576
    tcp_nodelay        =    0
    accumulate        =    268435456
    в glink\gamesys.conf
    какой поэтому конфиг править не могу допетрить.
    Все службы описанные есть, только вот gs не вижу.
    Как мне к работающему сервису привязаться?
    Алекс если знаешь помоги пожалуйста
  11. gosha1952 B L A C K    L I S T Пользователи

    Сообщения:
    317
    Лайки:
    161
    Репутация:
    2
    Команда:
    0
    Один из нескольких портов идущих от глинка к гс (нужен для того чтобы глинк мог посылать свои пакеты на гс).
    в gs поставьте: address = 0.0.0.0
    в глинке поставьте: address = (ип машины на которой гс).

    Только я вот немного не понимаю зачем в gsalias.conf что-то менять, у меня там всегда стояло вот это:

    [General]
    world_servers = gs01;arena01;arena02;arena03;arena04;is02;is12;is13;is18;is19;is20;is21;is22;is28;is31;is32;is33;is34;b05;
    instance_servers = is01;is05;is06;is07;is08;is09;is10;is11;is14;is15;is16;is17;is23;is24;is25;is26;is27;is29;bg01;bg02;bg03;bg04;bg05;



    [Template]
    Root = ./config/

    а в gs.conf это:


    [MsgReceiverTCP_gs01]
    type = tcp
    listen_addr = 127.0.0.1:17501
    so_sndbuf = 16384
    so_rcvbuf = 16384
    tcp_nodelay = 0
    listen_backlog = 10

    И вроде всё работало когда я ставил.
    Последнее редактирование: 25 май 2016
  12. BIOS23 Пользователи

    Сообщения:
    289
    Лайки:
    43
    Пол:
    Мужской
    Репутация:
    0
    Страна:
    Israel Israel
    gamed/gmserver.conf смотри там
  13. TopicStarter Overlay

    Fituchini Пользователи

    Сообщения:
    339
    Лайки:
    71
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    PWAA
    Страна:
    Russian Federation Russian Federation
    не вообще сервер не видит
    --- добавлено: 25 май 2016 в 23:01 ---
    Если не менять glink/gamesys.conf
    а в клиенте прописать дополнительно 29001 и более портов, вообще дивная вещь.
    29000 как будто труп. хотя ip локальный для всех
    а 29001 работает. Только вот зайти не могу
    Perfect World - PWIC v.1.4.2.jpg
    До 30 сек весит и вылет
    Последнее редактирование модератором: 2 июн 2016
  14. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    753
    Лайки:
    1.311
    Пол:
    Мужской
    Репутация:
    6
    Из названия секции видно, что это сервер, значит нужно открыть его на внешку (если он стоит на отдельной машине), а в конфигах клиента других сервисов по этому порту указать соотв айпи машины, где этот сервис установлен.
    Код:
    [AddrAlias]
    WORLD01                =      game1
    ARENA01                =      game2
    ARENA02                =      game2
    и прочие
    Тут айпи адреса gs, соотв. если мир будет на отдельной машине - WORLD01 = айпи_этой машины
  15. apfilipp AngeliCore Пользователи

    Сообщения:
    66
    Лайки:
    53
    Пол:
    Мужской
    Репутация:
    1
    GProviderServer - сервер(приёмник сообщений), который ждёт подключения от GS. Используется для общения с ядром.
    В случае, если мы выносим ядро на отдельную машину, то IP адреса в секциях GProviderServer нужно установить как 0.0.0.0, и в конфиге ядра(там должны быть подобные секции типо GProviderClient) указать IP машины куда мы вынесли ядро.

    PS. Увидел картиночки... Почему-то мне кажется нельзя повесить 2 сервера на 1 ядро.
    Как минимум из-за того, что в конфиге ядра всего 1 секция для настройки соединения с базой, а баз в нашем случае 2.
    Последнее редактирование: 26 май 2016
  16. BIOS23 Пользователи

    Сообщения:
    289
    Лайки:
    43
    Пол:
    Мужской
    Репутация:
    0
    Страна:
    Israel Israel
    в этом файле(gmserver.conf) в папке с гс явно не 1 подклучение ) хотя может я бред несу)
Черновик сохранён Черновик удалён
Similar Threads
  1. viking300kg
    Ответов:
    7
    Просмотров:
    1.172
Загрузка...

Поделиться этой страницей