Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jhillgithub/multiplayer-template
https://github.com/jhillgithub/multiplayer-template
Last synced: 27 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/jhillgithub/multiplayer-template
- Owner: jhillgithub
- Created: 2024-04-26T03:48:54.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-04-26T05:36:41.000Z (10 months ago)
- Last Synced: 2024-11-11T23:12:39.762Z (3 months ago)
- Language: TypeScript
- Size: 80.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
Multiplayer-Template
A socket.io and webrtc template for react
Explore the repo »
·
Report Bug
·
Request Feature
Table of Contents
## About The Project
This is a WIP template to setup multiplayer features for react with socket.io and webrtc. The goal is to create a generic template that can be used for collaborative applications or multiplayer games. Socket.io is used to manage the initial lobby/room and may also be used as a signaling server for webrtc. WebRTC will be added in order to offload the data transfer during gameplay by setting up a fully connected mesh of peers per room.
Current progress:
- [x] Setup basic socket.io server with node and express.
- [x] Setup Room context for room-based communication and broadcasting.
- [ ] Add signaling to the socket.io server to use with webrtc
- [ ] Custom STUN and TURN servers???
- [ ] Test simple-peer
- [ ] Test webrtc without libraries
- [ ] Add a RPC registry for custom broadcast functions for all connected peersBlockers:
- Attempted to use peerjs for webrtc, but there are support issues that lead me to believe that this may not be a good approach
### Built With
[![React][React.js]][React-url]
[![Typescript][Typescript]][Typescript-url]
[![TailwindCSS][TailwindCSS]][Tailwindcss-url]
## Getting Started
To get a local copy up and running follow these simple example steps.
### Installation
1. Clone the repo
```sh
git clone https://github.com/jhillgithub/multiplayer-template.git
```
2. Install NPM packages for client and then server
```sh
npm install
```
3. Start the application for client and then server
```sh
npm run dev
```[forks-shield]: https://img.shields.io/github/forks/jhillgithub/multiplayer-template.svg?style=for-the-badge
[forks-url]: https://github.com/jhillgithub/multiplayer-template/network/members
[stars-shield]: https://img.shields.io/github/stars/jhillgithub/multiplayer-template.svg?style=for-the-badge
[stars-url]: https://github.com/jhillgithub/multiplayer-template/stargazers
[issues-shield]: https://img.shields.io/github/issues/jhillgithub/multiplayer-template.svg?style=for-the-badge
[issues-url]: https://github.com/jhillgithub/multiplayer-template/issues
[React.js]: https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB
[React-url]: https://reactjs.org/
[TailwindCSS]: https://img.shields.io/badge/tailwindcss-000000?style=for-the-badge&logo=tailwindcss&logoColor=white
[Tailwindcss-url]: https://reactjs.org/
[Typescript]: https://img.shields.io/badge/typescript-000000?style=for-the-badge&logo=typescript&logoColor=white
[Typescript-url]: https://reactjs.org/