Knight docs
EN ID
GitHub

Quick Start

Write, validate and run your first gamemode in a minute.

Create gamemodes/hello.sa:

knight
system::config() {
    server.name = "My Knight Server";
    server.max_players = 50;
    server.port = 7777;
};

system::start() {
    AddPlayerClass(0, 1958.4, 1343.2, 15.4, 270.0, 24, 50);
    AddPlayerClass(7, 1958.4, 1343.2, 15.4, 270.0, 24, 50);
};

player::connect(int playerid) {
    SendClientMessage(playerid, "Welcome, {PlayerName(playerid)}!");
};

player::spawn(int playerid) {
    SetPlayerHealth(playerid, 100.0);
    SendClientMessage(playerid, "You have {GetPlayerMoney(playerid)} money.");
};

player::command("/heal") {
    SetPlayerHealth(playerid, 100.0);
    SendClientMessage(playerid, "Healed.");
};

Validate

bash
knight -check gamemodes/hello.sa
# ok: 4 events, 1 config blocks

Run

bash
./Bin/knight-server -cfg server.cfg -gamemode gamemodes/hello.sa
Note
server.cfg also accepts gamemode0 "hello 1" to load the gamemode automatically.