|Attention||Topic was automatically imported from the old Question2Answer platform.|
|Old Version||Published before Godot 3 was released.|
|Reply From:||Bojidar Marinov|
The server executable provides an easy way to run your game without the display and sounds showing up. It is intended for… (as you might have guessed it) game servers, that would host the game over TCP/UDP/something else. Also, it can be useful for other things as well, since it doesn’t require an X server, PulseAudio/ALSA drivers, etc. etc.
Currently it is only supported on linux platforms, though it should be relatively easy to make a similar executable for windows and mac (and android and ios…)
Still I wonder what man would do for a server app where gdscript has an advantage of other mainstream languages. I mean, for a server, even Python would be faster and more powerful than Godot.
Gokudomatic2 | 2016-07-22 12:14
This way you can easily share code and engine features between the client and the server without having to rewrite it in another language. It depends on the game so it’s up to you to choose.
Zylann | 2016-07-22 23:19
As a quick example, it can be useful if you want to replay the players’ actions on the server, in a turn-based game, or simple reuse the scenes and scripts, etc. It isn’t so easy to write a multiplayer game, but it is twice harder to write it two times over in two different languages, since then you have to make sure that the serialization and deserialization mechanisms won’t break it, that all math functions function the same, that the logic is good, etc.
Bojidar Marinov | 2016-07-23 08:33
It’s true I have no experience in multiplayer development, but in my knowledge in client-server development, there should be only once the business logic. Sure the serialization might be an issue, but since it’s plain json, that’s shouldn’t be really difficult to write in another language.
However I see your point for some components, like the physics engine. But for a game like, for instance, chess, as long as there’s an interface between the client and server, the server can be client agnostic.
And just to say, python has much much more libraries and frameworks than GDScript.
Gokudomatic2 | 2016-07-23 08:49
I also use to run scripts that process a lot of data, like convert/crop a bunch of images, etc. The server build can run on a headless system, and doesn’t have to register textures in the GPU, so it’s a lot faster loading images.