Getting Started
Get Game On Dude! running locally in under 5 minutes.
AI-Powered Integration
Download our AI Integration Guide and upload it to your favorite AI code generator (Claude Code, GitHub Copilot, Cursor, etc.) to get intelligent help integrating your game with Game On Dude!. The guide includes complete code examples, patterns, and API references.
Download AI Integration Guide1
Prerequisites
Before you begin, make sure you have:
- Node.js 18+ installed
- npm or yarn package manager
- Git for version control
- A code editor (VS Code recommended)
- Node.js 18+ installed
- npm or yarn package manager
- Git for version control
- A code editor (VS Code recommended)
2
Clone the Repository
Terminal
git clone https://github.com/gameon-guy/multiplayer-server.git
cd multiplayer-server3
Install Dependencies
Terminal
npm install4
Build the Server
Terminal
npm run build5
Start the Server
You should see output like:
``
``
[INFO] Starting Game On Dude! Server...
[INFO] Game type registered: lightning_round
[INFO] Game type registered: time_quest
[INFO] Game type registered: number_munchers
[INFO] Game type registered: panic_attack
[INFO] Game type registered: historical_conquest
[INFO] All game types registered
[INFO] Game On Dude! Server started (port: 3000)
``Terminal
npm start6
Test the Connection
Should return:
{"status":"ok","clients":0}Terminal
curl http://localhost:3000/healthConnecting from Unity
To connect your Unity project to the Game On server, follow these steps:
1. Copy the Unity SDK
Copy all files from unity-sdk/ to your Unity project's Assets/Scripts/Networking/ folder.
unity-sdk/ ├── GameOnClient.cs ├── GameOnNetworkManager.cs ├── GameOnNetworkIdentity.cs ├── GameOnPrediction.cs ├── GameOnTriviaManager.cs ├── GameOnTurnBasedManager.cs └── GameOnMovementManager.cs
2. Create Network Manager
Create an empty GameObject and add the GameOnNetworkManager component:
using UnityEngine;
using GameOnMultiplayer;
public class GameBootstrap : MonoBehaviour
{
void Start()
{
// Configure server connection
GameOnNetworkManager.Instance.ServerUrl = "ws://localhost:3000/ws";
// Connect to server
GameOnNetworkManager.Instance.Connect();
}
}3. Join a Room
Once connected, join or create a room:
// Listen for connection
GameOnNetworkManager.Instance.OnConnected += () => {
Debug.Log("Connected to server!");
// Create a room
GameOnNetworkManager.Instance.CreateRoom("lightning_round", new RoomOptions {
MaxPlayers = 8
});
};
// Listen for room join
GameOnNetworkManager.Instance.OnRoomJoined += (room) => {
Debug.Log($"Joined room: {room.Id}");
};