I spent the last few days studying the management of Steam game servers. It is not an easy task, as the information and documentation available are not so simple and immediate.
After several wrong attempts, I finally managed to get good results. For the moment I focused on creating the server program (currently developed in c#, so the server will be available only for windows, but I hope to convert it to a linux service so you can use it on the most common vps servers).
At the moment the server is responsible for creating the rally by reading information such as usable cars, roadbooks, etc. , allowing clients to connect. It also provides REST functions to obtain information on the status of the rally in progress, exported in JSON format.
The next step will be to perform tests by replacing the current server (web only) with this new server.
This is not just an update on our ‘official’ server, but will allow riders to create online rallies at will.
Another very interesting thing I’m studying is peer 2 peer networking; this will allow to create a connection between Steam and Steam’s NAT-traversal and relay servers between individual clients, so you can possibly manage live rallies as the real rallies, starting one after the other, seeing the pilots who are running before you by connecting directly to their client.
There are still many obscure points, such as the connection to the server directly from the ‘servers’ section of the steam client, the anticheat, converting the code to linux (if you have any ideas get ahead!) But I think I’m on the right track to allow a ‘live rally experience like never before!