SFTtech / openage-masterserver

Lobby and matchmaking server for openage in Haskell
https://openage.dev
Other
52 stars 12 forks source link

Re-implement masterserver in Rust #11

Open simonsan opened 5 years ago

simonsan commented 5 years ago

Rust has some advantages that might be useful for us in regards of the implemention of a game server:

An example of a game server implementation you'll find here: Game Server in 150 lines of Rust

What are your thoughts about this? Would you prefer also Rust for a re-implementation?

nerded1337 commented 4 years ago

@simonsan The goal of this issue is for a reimplementation of the master server or the game server? I believe they are two different things, and the current project is aimed at building a master server only? Other than that, Haskell is doing pretty well on every point you dropped (perhaps except on the memory side if you don't know what you are doing), as well as being the complete opposite of Go (the link you provided is comparing Rust against Go).

heinezen commented 4 years ago

@nerded1337 Hey, you're right. This repo is for the master server only. But we probably have to update the docs here a little bit because they are a bit outdated :smile: The current architecture idea can be found in this gist

Quick summary:

The old approach was to use Haskell, but we have not yet decided if we will reimplement it in another language, once we get back to it.

nerded1337 commented 4 years ago

@heinezen Thanks a lot for the clarifications!

simonsan commented 4 years ago

Regarding Haskell I found a good recent comment from the maintainer of AURA (Package Manage for Arch Linux and the AUR) that will reimplement it in Rust for some reasoning that should be considered here as well:

And last but not least:

2020-10-29 07_25_41- Proposal - Arch Linux  Port `Aura` to Rust - announcements - The Rust Programmi-Screenshot

src.: https://users.rust-lang.org/t/proposal-arch-linux-port-aura-to-rust/50592

nerded1337 commented 4 years ago

@simonsan you are right, the first point being probably one of the most important for oss...