Leaf is a lightweight, fast game server written in rust and designed to be run in a container.
- CreateSession
- ListSessions
- JoinSession
- LeaveSession
- ChangeSettings
- ChangeState
- Action
User ID: name publickey
User key: signature
In: User ID, User key, session settings, session rules, session state Out: Successful, Session ID? Change: Add session to session list
In: User ID, User key Out: [sessions] Change: -
In: User ID, Session ID, User key Out: Sussessful Change: session[Session ID].state.users.push(User ID)
In: User ID, Session ID, User key Out: Successful Change: session[Session ID].state.users.remove(User ID)
In: User ID, Session ID, User key, Settings Out: Successful Change: session[Session ID].settings = Settings
In: User ID, Session ID, User key, State Out: Successful Change: session[Session ID].state = State
In: Action, User ID, Session ID, User key Out: Successful Change: session[Session ID].state.actions.push(Action)