Docs/Getting Started

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 Guide
1

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)
2

Clone the Repository

Terminal
git clone https://github.com/gameon-guy/multiplayer-server.git
cd multiplayer-server
3

Install Dependencies

Terminal
npm install
4

Build the Server

Terminal
npm run build
5

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 start
6

Test the Connection

Should return: {"status":"ok","clients":0}
Terminal
curl http://localhost:3000/health

Connecting 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}");
};