Sprawdzanie czy nasz serwer jest na Master...
Misiaczek ;c
05.11.2013
Witam
Poradnik bedzie krótki a zarazem przydatny bo z tego co widzę część osób z was nie wie czy wasze serwery są na MasterServers od Valve(bo niby wam dproto blokuje )
Dane możemy otrzymać w 2 Formatach
- JSon
- XML
Zależy jak wolicie aby wam je pokazało
Jak wyglądają dane z informacją czy jesteśmy na MasterServers:
JSon
{ "response": { "success": true, "servers": [ { "addr": "46.29.18.245:27015", "gmsindex": 65534, "appid": 10, "gamedir": "cstrike", "region": -1, "secure": true, "lan": false, "gameport": 27015, "specport": 0 } ] } }
XML
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE response> <response> <success>true</success> <servers> <server> <addr>46.29.18.245:27015</addr> <gmsindex>65534</gmsindex> <appid>10</appid> <gamedir>cstrike</gamedir> <region>-1</region> <secure>true</secure> <lan>false</lan> <gameport>27015</gameport> <specport>0</specport> </server> </servers> </response>
Teraz na Co trzeba zwrócić uwagę
JSon
"success": true,
XML
<success>true</success>
Jeśli jest zwracana wartość true oznacza iż nasz serwer jest na MasterSerwerze Valve, jeśli dostaniemy wartość false niestaty ale nie jesteśmy godni tego zaszczytu
Dobra dobra, wszystko piąknie ładnie opisane ale gdzie to sprawdzić?
Informacje o tym czy jesteśmy na MS w JSon
http://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=<IP Serwera oraz Port>&format=json
Informacje o tym czy jesteśmy na MS w XML
http://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=<IP Serwera oraz Port>&format=xml
w Miejsce <IP Serwera oraz Port> podajemy potrzebne dane
Przykład użycia:
JSon
http://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=46.29.18.245:27015&format=json
XML
http://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=46.29.18.245:27015&format=xml
Myśle iż wam to się przyda ;]
Mala Ciekawostka
Serwery na Silniku 6027 i 6137 wraz z dProTo 0.9.335 poprawnie dodają sie do MS Valve
Informacja
Poradnik napisany dla społeczności AMXX.pl.
Zakaz rozpowszechniania bez zgody Autora
GwynBleidD
05.11.2013
{ "response": { "success": true, "servers": [ ] } }
A co powiesz na taki response? Wyświetla się on mi dla serwerów starszych (przed erą SteamCMD).
GwynBleidD
05.11.2013
Odpowiem więc na własne pytanie... otóż taka odpowiedź oznacza, że serwer widnieje w MasterServer Valve, jednak jego wpis nie jest prawidłowy. Nie będzie taki serwer wyświetlany na liście "Internet", jednak dostaje autoryzację i autoryzuje graczy Steam... Błąd jest ze strony Valve, jak i ze strony dproto... Valve nie powinno do czegoś takiego dopuścić i całkowicie odrzucać serwer próbujący się tak zarejestrować, a dproto powinno rejestrować poprawnie serwer...
Więc poradnik posiada błąd, bo samo "success": true nie wystarcza
Misiaczek ;c
05.11.2013
Odpowiem więc na własne pytanie... otóż taka odpowiedź oznacza, że serwer widnieje w MasterServer Valve, jednak jego wpis nie jest prawidłowy. Nie będzie taki serwer wyświetlany na liście "Internet", jednak dostaje autoryzację i autoryzuje graczy Steam... Błąd jest ze strony Valve, jak i ze strony dproto... Valve nie powinno do czegoś takiego dopuścić i całkowicie odrzucać serwer próbujący się tak zarejestrować, a dproto powinno rejestrować poprawnie serwer...
Więc poradnik posiada błąd, bo samo "success": true nie wystarcza
no widzisz jutro dodam o tym notatke nie miałem takie problemu jak ty bo uzywam autoryzacji hybrydowej z dproto