Skip to content

πŸš€ Multiplayer framework for Unity. Powered by ZeroPing (client), SyncServer and SyncAPI (backend)

License

Notifications You must be signed in to change notification settings

superstrellaa/ZypherLink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

46 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ZypherLink Cover

Issues License Last Commit Top Language

ZypherLink

ZypherLink is a modern, open-source multiplayer framework for Unity, designed for low-latency, scalable, and secure real-time games. It consists of:

  • SyncServer: A robust Node.js WebSocket backend for authoritative multiplayer logic, replay logging, anti-cheat, and more.
  • SyncAPI: A robust API backend maded in ExpressJS for JWT-Auth, versions check and admin messages.
  • ZeroPing: A Unity C# client example for rapid prototyping and integration with SyncServer using NativeWebSocket

ZypherLink still in progress but, if this doesn't recibes more popularity I can't update for new content, sorry. Oooorrrrr, you can pester me in my DM in discord: superstrella#0110


Features

  • ⚑ Ultra-low latency WebSocket communication
  • πŸ›‘οΈ Server authority, anti-cheat, and replay logging
  • 🧩 Modular, extensible backend (handlers, managers, config)
  • πŸ“ˆ Interactive test panel and stress tools
  • πŸ“ Clear message protocol documentation
  • 🐳 Docker-ready for easy deployment

Project Structure

ZypherLink/
β”œβ”€β”€ SyncAPI/         # Node.js backend API in ExpressJS
β”œβ”€β”€ SyncServer/      # Node.js backend (WebSocket server)
β”‚   β”œβ”€β”€ config/      # Config files (game, rateLimit, server)
β”‚   β”œβ”€β”€ replays/     # Replay logs (auto-generated)
β”‚   β”œβ”€β”€ logs/        # Server logs (auto-generated)
β”‚   β”œβ”€β”€ ...
β”œβ”€β”€ Tests-WebSocket/ # Node.js test clients and panels
β”‚   └── exampleClient.js # Node.js Script for testing (deprecated and unused)
β”œβ”€β”€ ZeroPing/        # Unity client example (see folder for details)
β”œβ”€β”€ README.md
└── ...

Quick Start | Linux | SyncAPI

# 1. Clone the repo
$ git clone https://github.com/superstrellaa/ZypherLink.git
$ cd ZypherLink/SyncAPI

# 2. Copy and edit environment variables
$ cp .env.example .env
$ nano .env

# 3. Build and run with Docker (recommended)
$ docker-compose up --build

# Or run locally
$ npm install
$ npm start

Quick Start | Linux | SyncServer

# 1. Clone the repo
$ git clone https://github.com/superstrellaa/ZypherLink.git
$ cd ZypherLink/SyncServer

# 2. Copy and edit environment variables
$ cp .env.example .env
$ nano .env

# 3. Build and run with Docker (recommended)
$ docker-compose up --build

# Or run locally (Node.js 18+ required)
$ npm install
$ npm start

Quick Start | Unity | ZeroPing

  1. Clone the repository with git or downloading .zip
  2. Download Unity 6 from Unity Hub
  3. Go to Add > Add project from disk
  4. Select ZeroPing folder and open it
  5. Once opened, start SyncServer and SyncAPI projects
  6. Now you can press Play and see how functions

Contributing

Pull requests and issues are welcome! Please open an issue for bugs, ideas, or questions.


License

MIT Β© superstrellaa


Made with ❀️ for the Unity multiplayer community.