PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
А вот можно сюда привязать настройки из Game сервера?
Или надо все таки создать config game server в common? WriteC(2); WriteD(1); WriteB(IPAddress.Parse("127.0.0.1").GetAddressBytes()); WriteH(39191); WriteC(6); WriteH(5000); WriteD(1); for (int i = 0; i < 10; i++) WriteC(0x1); |
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Естественно, это должен быть конфиг игрового сервера.
Где будет находиться конфиг - не важно. P.S. У меня например, конфиг передаётся в сервер авторизации при регистрации игрового сервера. |
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Цитата:
|
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Цитата:
|
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Почему то показывается лишь один канал нормально, остальные нефига, в чем мб ошибка?
DbContext:Развернуть ↓ServerModel:Развернуть ↓PROTOCOL_BASE_GET_SYSTEM_INFO_ACK:Развернуть ↓https://pp.userapi.com/c840639/v8406...tVLIEljg3c.jpg |
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Этот пакет уже на 101% разобран.
Первый сервер это (ПредКоннект). Hide:Развернуть ↓Вообще, не понимаю, зачем так делать. Если серверов может быть больше 2х. Не проще ли, при авторизации сервера, регистрировать гс. |
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Цитата:
|
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Так а что у тебя тут _server.Channels, проверял количество и типы?
|
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Цитата:
|
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
|
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Цитата:
https://pp.userapi.com/c840523/v8405...rHQG0wIXT4.jpg |
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Ну вот. Теперь ищи причину, почему только 1 запись.
|
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Цитата:
req:Развернуть ↓ |
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Юзай Include и First, в теме по EF я тебе давал пример.
|
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Цитата:
Теперь каждый раз когда нужен channel надо в req пакете так прописывать или можно как то по другому реализовать ? var channel = context.servers.Include(x => x.Channels) .FirstOrDefault(); |
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Я не совсем понимаю для чего тебе выборка 1 сервера для этого пакета. FirstOrDefault вернёт просто первую запись в таблице или null если таблица пуста, а тебе нужен список. Ну и var channel это всё же "server" включая каналы (связь one to many).
А так да, можешь хоть каждый раз дёргать, а можешь выбрать один раз все сервера и получать их из этого списка, тем более, что выборка в GET_CHANNEL_LIST по индексу, а не по Id. |
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Цитата:
ну я не много не понял как например мне использовать в PROTOCOL_BASE_SELECT_CHANNEL_REQ , если не снова дергать |
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Цитата:
Выбрать один раз. Например, в Program создать статичное свойство: public static List<GameServer> GameServers { get; set; } И при запуске сервера получаем список всех известных серверов. Program.GameServers = await _gameservers.GetAsync(); Всё, Program.GameServers будет содержать сервера. Конечно, это можно вынести в отдельный класс, Holder, Manager... |
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Цитата:
|
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
CoolStoryBob var server.
|
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Цитата:
|
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Ой всё. kappa
class Server { // ... public ICollection<Channel> Channels { get; set; } } class Channel { // ... public int ServerId { get; set; } public Server Server { get; set; } } Это СЕРВЕР включая каналы, а не канал: var server = context.Servers .Include(x => x.Channels) .FirstOrDeafult(); |
Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
Вот этого бы хватило) но все равно спасибо за объяснение
Я понял что и там , и там вызывал server и не было смысла разделять его на два, тк вызываю одно и тоже Цитата:
|
Текущее время: 22:30. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot