Open soundmud opened 10 years ago
In the meantime I'll update the 1.2 alpha 9 installer with new installers and the same version name as long as the changes are compatible.
With the recent commits, a server accepts a client with any mods configuration. This is good enough for 1.2-a10.
The next improvements should be:
Hey, I suggest that when a player invites other to a match, in the invitation says the required mods besides the selected map.
And, sinze you are editing the server, if is possible, add the option to create public games, that anyone can join it without need a invitation from the creator.
Respecting the second feature of the server… Are you saying that the server will be compatible with alternative soundrts client if anyone develop one?
And… Are you thinking to translate the server to a compiled language instead python? Only for better performance.
:p that’s its all xd
Thanks github for let me answer from the email :V
From: soundmud [mailto:notifications@github.com] Sent: domingo, 8 de mayo de 2016 12:46 To: soundmud/soundrts soundrts@noreply.github.com Subject: Re: [soundmud/soundrts] A server should be compatible with several mods and client versions (#12)
With the recent commits, a server accepts a client with any mods configuration. This is good enough for 1.2-a10.
The next improvements should be:
— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/soundmud/soundrts/issues/12#issuecomment-217727785 https://github.com/notifications/beacon/AA-aG2FSxPIwIgR1EkBS1UJvC1lJJfAGks5p_gUkgaJpZM4CVpHJ.gif
Respecting the second feature of the server… Are you saying that the server will be compatible with alternative soundrts client if anyone develop one?
This is already the case, in a way, but note that the clients must do most of the job, including the full simulation of the game world, and this simulation must be exactly the same on each computer.
And… Are you thinking to translate the server to a compiled language instead python? Only for better performance.
The server does almost nothing, so it will stay in Python. The clients are doing a lot, so I will profile them again and improve some parts by fixing algorithmic "errors" or by translating them in Cython (a compiled way to have something close to C). Pypy, the Just In Time compiler, doesn't seem to be compatible with pygame and has (a priori) smaller improvements (3x 4x).
This issue is probably solved by commit 90fac951aac3d7e206ba2b48326cca18a4d7871a Maybe the version have to be the same. I'll check later.
The issue is actually partially solved. Here is the message again, to check later:
With the recent commits, a server accepts a client with any mods configuration. This is good enough for 1.2-a10.
The next improvements should be:
- on an invitation, a client should try to select automatically the required mods, as long as they are available locally
- a server should accept any client with a compatible server protocol, and should isolate clients with different versions from each other
When a new version of SoundRTS is released, servers have to be updated. Moreover, each mod requires its own server. This can discourage users to host a standalone server.
Of course sometimes a server is really incompatible with previous clients, but this is not always the case. Maybe a compatibility version, maybe just a server version number, a simple integer, would be incremented when the new version changes the compatibility of the server.
In the case of mods, the server should only make sure that the clients have the same resources. Providing the resources to the clients would still not be necessary. Providing resources can be network intensive and might even cause legal problems. The idea here would be to accept different client signatures and isolate the clients in compatible subsets. Or, in a more open variant, allow the clients to know exactly which mod and map is about to be used, and decide if they still want to play.