SKIRMISH.GG

Connect your Firebase project to enable login, skins & online matches.

Step 1 — Firebase console

  1. Go to the Firebase console and open (or create) your project.
  2. Build → Authentication → Sign-in method: enable Email/Password and Google.
  3. Build → Realtime Database → Create database (any location).
  4. Build → Firestore Database → Create database (start in test mode).

Step 2 — Paste your web app config

Project Settings → General → Your apps → Web app → SDK setup & configuration (Config).

Step 3 — Security rules (paste into the console)

// Hardened Realtime Database rules — deployed automatically from
// database.rules.json with `firebase deploy`. Only paste manually if this
// app points at a DIFFERENT Firebase project than the one you deploy from.
{
  "rules": {
    "rooms": {
      ".read": "auth != null",
      ".indexOn": ["ts"],
      "$roomId": {
        ".write": "auth != null && ((!data.exists() && newData.hasChildren(['ts']) && !newData.hasChildren(['events']) && !newData.hasChildren(['players'])) || (data.exists() && newData.hasChildren(['ts']) && newData.child('createdAt').val() == data.child('createdAt').val() && !newData.hasChildren(['events'])) || (data.exists() && !newData.exists() && !data.child('players').hasChildren()))",
        "seed": {
          ".write": "auth != null && !data.exists()",
          ".validate": "newData.isNumber() && newData.val() >= 0 && newData.val() < 2147483648"
        },
        "players": {
          "$uid": {
            ".write": "auth != null && ($uid === auth.uid || (!newData.exists() && now - data.child('t').val() > 30000))"
          }
        },
        "events": {
          ".read": "auth != null",
          ".indexOn": ["tMs"],
          "$eventId": {
            ".write": "auth != null && ((!data.exists() && newData.child('by').val() === auth.uid) || (!newData.exists() && (data.child('by').val() === auth.uid || now - data.child('tMs').val() > 120000)))"
          }
        }
      }
    }
  }
}
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{uid} {
      allow read: if request.auth != null;
      allow write: if request.auth != null && request.auth.uid == uid;
      allow delete: if request.auth != null && request.auth.uid == uid;
    }
  }
}

SKIRMISH.GG

Drop in. Lock and load.

or

13+ · By playing you agree to our Terms and Privacy Policy.

SKIRMISH.GG

◈ 0
WASD moveMouse aim · LMB fire Space jumpShift sprintR reloadTab scoreboardEsc pause
PRIVATE MATCH

Player skins

Weapon skins

Earn ◈ 10 per kill in any match. Skins are permanent.

Player skins

Weapon skins

#PlayerKillsDeathsK/D

Callsign

Match settings

Account

Privacy Policy · Terms of Service

SKIRMISH.GG

Connecting…

✕
Connecting…
100
30/ 90
RELOADING…
PlayerKillsDeathsStatus

PAUSED

Mouse unlocked. Click below to jump back in.

ELIMINATED

Respawning…

VICTORY

FIRE
JUMP
RLD
CROUCH