Что влияет на время отображения сервера в списке серверов?

Drake

Участник
Сообщения
252
Реакции
14
Вот есть мой сервер (на хостинге), где пинг у меня 5-10, и чтоб он отобразился у меня в поиске нужно подождать секунд 10, в отличие от других серверов. Что на это влияет?
 

Vulpecula

Добрая душа
Сообщения
326
Реакции
458
Вот есть мой сервер (на хостинге), где пинг у меня 5-10, и чтоб он отобразился у меня в поиске нужно подождать секунд 10, в отличие от других серверов. Что на это влияет?
Канал, которым располагает сервер, а также ваш провайдер.

Существует ещё теория «белых адресов», но не совсем уверен в достоверности.
 

SlavON

Добрая душа
Сообщения
1,582
Реакции
326
@Vulpecula, что-то есть сомнение, что вопрос был понят. Сервера не выдаются разом в браузере, а поочередно, а по какому порядку они выдаются мастерсервером, по алфавиту или по цифрам, или вообще другим способом я например не знаю. Но каким боком здесь канал и провайдер?
 
Последнее редактирование:

Drake

Участник
Сообщения
252
Реакции
14
@Vulpecula, что-то есть сомнение, что вопрос был понят. Сервера не выдаются разом в браузере, а поочередно, а по какому порядку они выдаются мастерсервером, по алфавиту или по цифрам, или вообще другим способом я например не знаю. Но каким боком здесь канал и провайдер?
мб он имел ввиду пинг и скорость инета
 

Someone

Участник
Сообщения
1,933
Реакции
1,653
Вот есть мой сервер (на хостинге), где пинг у меня 5-10, и чтоб он отобразился у меня в поиске нужно подождать секунд 10, в отличие от других серверов. Что на это влияет?
Ну как-то так:
  1. Игра посылает запрос на получение списка серверов клиенту Steam с игнорированием тэга valve_ds (сервера Valve). (Результат примерно такой: https://api.steampowered.com/IGameServersService/GetServerList/v1/?key=STEAM_WEB_API_KEY&limit=10000&filter=\appid\730\nor\1\gametype\valve_ds
  2. Клиент Steam поочередно (скорей всего 5+ запросов одновременно) отправляет A2S _INFO запросы к игровым серверам.
  3. Игровые Сервера отвечают на A2S_INFO запрос (S2A_INFO).
  4. Клиент Steam отдает результат игре вместе с данными из мастер сервера.
    C++:
    servernetadr_t m_NetAdr;                                    ///< IP/Query Port/Connection Port for this serverint m_nPing;                                                ///< current ping time in milliseconds
    bool m_bHadSuccessfulResponse;                                ///< server has responded successfully in the past
    bool m_bDoNotRefresh;                                        ///< server is marked as not responding and should no longer be refreshed
    char m_szGameDir[k_cbMaxGameServerGameDir];                    ///< current game directory
    char m_szMap[k_cbMaxGameServerMapName];                        ///< current map
    char m_szGameDescription[k_cbMaxGameServerGameDescription];    ///< game description
    uint32 m_nAppID;                                            ///< Steam App ID of this server
    int m_nPlayers;                                                ///< total number of players currently on the server.  INCLUDES BOTS!!
    int m_nMaxPlayers;                                            ///< Maximum players that can join this server
    int m_nBotPlayers;                                            ///< Number of bots (i.e simulated players) on this server
    bool m_bPassword;                                            ///< true if this server needs a password to join
    bool m_bSecure;                                                ///< Is this server protected by VAC
    uint32 m_ulTimeLastPlayed;                                    ///< time (in unix time) when this server was last played on (for favorite/history servers)
    int    m_nServerVersion;                                        ///< server version as reported to Steamchar m_szServerName
    char m_szServerName[k_cbMaxGameServerName];                    /// Game server name
    char m_szGameTags[k_cbMaxGameServerTags];                     /// the tags this server exposes
    CSteamID m_steamID;                                           /// steamID of the game server - invalid if it's doesn't have one (old server, or not connected to Steam)
  5. Игра дополнительно фильтрует список серверов (убирает сервера с тэгом valve_ds) и выводит в меню с серверами.
Так что вполне логично, что твой сервер не сразу появляется при низкой задержке - он не первый в списке.
 
Последнее редактирование:

Drake

Участник
Сообщения
252
Реакции
14
Ну как-то так:
  1. Игра посылает запрос на получение списка серверов клиенту Steam. (Результат примерно такой: https://api.steampowered.com/IGameServersService/GetServerList/v1/?key=STEAM_WEB_API_KEY&limit=6000&filter=\appid\730\nor\1\gametype\valve_ds
  2. Клиент Steam поочередно (скорей всего 5+ запросов одновременно) отправляет A2S _INFO запросы к игровым серверам.
  3. Игровые Сервера отвечают на A2S_INFO запрос (S2A_INFO).
  4. Клиент Steam отдает результат игре вместе с данными из мастер сервера.
    C++:
    servernetadr_t m_NetAdr;                                    ///< IP/Query Port/Connection Port for this serverint m_nPing;                                                ///< current ping time in milliseconds
    bool m_bHadSuccessfulResponse;                                ///< server has responded successfully in the past
    bool m_bDoNotRefresh;                                        ///< server is marked as not responding and should no longer be refreshed
    char m_szGameDir[k_cbMaxGameServerGameDir];                    ///< current game directory
    char m_szMap[k_cbMaxGameServerMapName];                        ///< current map
    char m_szGameDescription[k_cbMaxGameServerGameDescription];    ///< game description
    uint32 m_nAppID;                                            ///< Steam App ID of this server
    int m_nPlayers;                                                ///< total number of players currently on the server.  INCLUDES BOTS!!
    int m_nMaxPlayers;                                            ///< Maximum players that can join this server
    int m_nBotPlayers;                                            ///< Number of bots (i.e simulated players) on this server
    bool m_bPassword;                                            ///< true if this server needs a password to join
    bool m_bSecure;                                                ///< Is this server protected by VAC
    uint32 m_ulTimeLastPlayed;                                    ///< time (in unix time) when this server was last played on (for favorite/history servers)
    int    m_nServerVersion;                                        ///< server version as reported to Steamchar m_szServerName
    char m_szServerName[k_cbMaxGameServerName];                    /// Game server name
    char m_szGameTags[k_cbMaxGameServerTags];                     /// the tags this server exposes
    CSteamID m_steamID;                                           /// steamID of the game server - invalid if it's doesn't have one (old server, or not connected to Steam)
  5. Игра фильтрует список серверов (убирает сервера с тэгом valve_ds) и выводит в меню с серверами.
Так что вполне логично, что твой сервер не сразу появляется при низкой задержке - он не первый в списке.
ну а что тогда надо сделать, чтоб он сразу появлялся?
 

SlavON

Добрая душа
Сообщения
1,582
Реакции
326
@Drake, ничего, ты не можешь повлиять на метод фильтрации. Зачем тебе это надо? Если игрок ищет сервер, то он явно его ищет не 1 секунду, в основном он либо ищет по онлайну, либо по карте, и при этом фильтр в поиске по умолчанию стоит по пингу. Шанс что он на него зайдет и так высокий, лишь бы твой сервер вызвал у него интерес, то есть попал под его критерии поиска.
 
Сверху Снизу