Page 1 of 1

Lobby Master server

Posted: 13 Aug 2018, 13:14
by Prot
I search but no luck, where i can download and see code of the running Lobby server?
I was wondering how difficult it is to fix this bug #4822
The inability to create two games on the same local network was a problem.

Re: Lobby Master server

Posted: 23 Oct 2019, 06:36
by Prot
Bump..
I still want to look at lastest lobby server source code.

Re: Lobby Master server

Posted: 08 Nov 2019, 21:55
by PanCHo
Bump X2
I want lobby code too. This will be really useful.

Re: Lobby Master server

Posted: 09 Nov 2019, 15:06
by Terminator

Re: Lobby Master server

Posted: 15 Nov 2019, 16:14
by Prot
This is not updated 10 years old code. It's not work correctly and containing many bugs which was fixed recently on running lobby server.

Re: Lobby Master server

Posted: 06 Jan 2020, 17:07
by PanCHo
Lobby server going down if you changing room name too fast

Code: Select all

error   |17:57:54: [NETsendGAMESTRUCT:858] Failed to send GAMESTRUCT. Reason: Resource temporarily unavailable

Re: Lobby Master server

Posted: 12 Jan 2020, 19:20
by PanCHo
Bump X3!
When updating game name on master lobby server does not checking for connectivity and just throwing it in list even without tcp2100 opened...

Re: Lobby Master server

Posted: 28 Feb 2020, 18:39
by PanCHo
So we can forgot about getting current lobby server sources and start our own development?

Re: Lobby Master server

Posted: 17 Apr 2020, 18:36
by Prot
Lobby server engine is ready and worked with current "GameStructVersion 3" lobby protocol.
https://youtu.be/dB3SO9avw5w
Now i'm going to do some improvements, and add support SQLite3 and PostgreSQL databases.
On the work finish, i'l public lobby server with maximum code commentaries.

Re: Lobby Master server

Posted: 29 Apr 2020, 09:19
by Prot
Oh, this is current protocol v3 is really odd, it's really-really need to update!

For now Lobby server is fully worked with some extra functions
https://youtu.be/II8SxUYd94U

Worked with psql
Can hide from list some long openning game, full room games, hide mapmods game, hide old gameversion (all this stuff sets in server config)
Can output JSON to telnet clients
Can show some statistics to game lobby and telnet clients
etc.

What i want to finish this project.
To current game protocol (no need any change to warzone game):
- Add support SQLite and Filesystems storage database (if PSQL not available)
- Add HTTP module to show lobby in http server like NGinx or Apache (example https://wz2100.euphobos.ru/ but siplify)
- Maximum comment code and push to github.
..and maybe
- Add PROXY mode, to run master/slave servers on different machines and connect each other for an indestructible system.

In the future, after public project:
Really want new in protocol (need patch warzone2100):
- Backward compatibility with the v3 Protocol
- Add support for pass to game TCP port of created lobby game (it's really needed!)
- Reworked all current protocol (it's reeeaaaaaaly strange and nasty!)
- Optional nickname registration, but not forced, otherwise the players will run away
- Full information about the created lobby, how many players they nicknames and statistics, what room settings, etc.
- Save the statistics of the players. After the match is over, the game must send statistics about the match to the lobby server.
- Maybe switch protocol from Binary to JSON or so ?.. (But i don't see any reason for this, if server can handle both)

Re: Lobby Master server

Posted: 06 May 2020, 21:10
by Prot
The lobby server is published in my github repository: https://github.com/EuPhobos/wzlobby-php

I would like to invite those who want to test the server
You just need to change the line in the game configuration
from "masterserver_name=lobby.wz2100.ru" to "masterserver_name=lobby.euphobos.ru"

Server fully support current lobby protocol
Working as with pgsql, and without any database
Also have http module, you can see running for now server at "http://lobby.euphobos.ru/" - this module also has some kind of API, try from command line something like: "curl 'http://lobby.euphobos.ru/?api=json' | jq ."
Or connect to server by protocol port "telnet lobby.euphobos.ru 9990" and input command "json" or "stat", then "quit"
Also for now server running as Proxy Slave, it show local hosted games and also show games from lobby.wz2100.net current official lobby server, players who change config and connect to my server can connect to local and remote games without any problem.