Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/grischaerbe/threlte-nakama-starter
Threlte + Nakama Starter for Realtime Multiplayer Games
https://github.com/grischaerbe/threlte-nakama-starter
Last synced: 4 days ago
JSON representation
Threlte + Nakama Starter for Realtime Multiplayer Games
- Host: GitHub
- URL: https://github.com/grischaerbe/threlte-nakama-starter
- Owner: grischaerbe
- License: mit
- Created: 2023-11-15T21:09:10.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-16T16:00:26.000Z (about 1 year ago)
- Last Synced: 2024-11-01T19:22:29.888Z (about 2 months ago)
- Language: TypeScript
- Size: 85 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Threlte + Nakama Starter for Realtime Multiplayer Games
> Under development
This is a starter project for realtime multiplayer games using [Threlte](https://threlte.xyz) and [Nakama](https://heroiclabs.com/nakama/).
## Features
- Build setup for Nakama with TypeScript server runtime using Rollup as the bundler
- Device or Google Authentication
- Session and socket management
- Realtime Matches
- `AbstractMatchManager` abstract class to easily manage realtime matches with full type safety
- `TimeTrialMatchManager` example implementation
- `new TimeTrialMatchManager('matchId')` to create a match manager
- `manager.join()` to join the match
- `manager.send('MessageType', { foo: 'bar' })` to send a message to the server
- `manager.on('MessageType', (message) => { console.log(message) })` to listen for messages from the server
- `manager.leave()` to leave the match
- Shared types between server and client
- Utilities to make processing incoming messages easier (client and server)