Skip to content

minism/hotel

Repository files navigation

Hotel

Hotel is a simple master/lobby server for multiplayer video games written in golang. It's purpose is to facilitate the registration, discovery, and spawning of multiplayer game servers.

Overview

There are two services which are deployed separately:

  • hotel-master: The master server is a web server + database that provides a REST API for clients to register and request game server information.
  • hotel-spawner (optional): The spawner is an RPC server which fulfills requests from the master server to spawn new game server processes. This component can be omitted if the game doesn't require realtime provisioning of servers.

The ideal relationship between these services is visualized in the following diagram:

Architecture

Clients

Hotel was designed with Unity in mind as a client, but is agnostic to the game engine.

hotel-client-unity is a ready-made Unity client implementation that abstracts away much of the internal API calls.

Example control flow

Below is an example request flow for a game client requesting that a new game server be spawned, and connecting to it:

Spawn Flow

API

TODO

Deployment

TODO

Roadmap

TODO

About

A simple master/lobby server for multiplayer games.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published