Knight docs
EN ID
GitHub

Konfigurasi

Blok system::config() dan key server.cfg.

system::config() menulis key server.cfg saat gamemode dimuat. Hanya assignment yang diizinkan.

knight
system::config() {
    server.name = "Server Saya";
    server.max_players = 100;
    server.port = 7777;
    server.language = "Indonesian";
    server.weather = 10;
    server.world_time = 12;
    server.gravity = 0.008;
};

Konfigurasi tanpa server.cfg

server.cfg bersifat opsional. Semua pengaturan bisa ditulis di system::config() di dalam gamemode, dan ini cara yang disarankan untuk server satu-gamemode: satu file untuk di-deploy, tanpa konfigurasi eksternal yang harus disinkronkan.

knight
system::config() {
    server.name = "Euporia RP";
    server.port = 7777;
    server.max_players = 200;
    server.language = "Indonesian";
    server.weather = 10;
    server.world_time = 12;
    server.gravity = 0.008;
    server.stream_distance = 300.0;
    server.connect_timeout = 20;
    server.announce = true;
    server.map_name = "San Andreas";
};

Menjalankan tanpa file config

bash
knight -cfg "" -gamemode Gamemodes/euporia.sa

Dengan -cfg "" server mulai dari default bawaan dan membiarkan gamemode menentukan semuanya, termasuk port. Tanpa flag itu, server.cfg dibaca bila ada lalu nilai gamemode diterapkan di atasnya.

Urutan prioritas

SumberMenang?
system::config() di gamemodeSelalu, untuk field yang dideklarasikan
server.cfgUntuk field yang tidak dideklarasikan gamemode
Default bawaanBila keduanya tidak mendeklarasikan field

Plugin juga konfigurasi

knight
server.plugins = ["plugins", "mods/anticheat.sa"];

Lihat halaman Sistem Plugin untuk isi tiap path.

Note
Hanya field yang dideklarasikan yang ditimpa. Gamemode yang hanya mengatur server.name tetap memakai nilai lain dari server.cfg atau default.

Membaca nilainya kembali

Nilainya tersedia saat runtime, jadi nama yang sama bisa dipakai di command dan log.

knight
player::command("/info") {
    SendClientMessage(playerid, "{server.name} | {server.max_players} slot");
};
Warning
max_players di luar 1..1000, port di luar 1..65535, dan connect_timeout di luar 1..300 diabaikan dan dicatat di log; nilai sebelumnya dipertahankan.

Key server.cfg

FieldTipekey server.cfg
server.namestringhostname
server.max_playersintmaxplayers
server.portintport
server.gamemodestringgamemode0
server.languagestringlanguage
server.passwordstringpassword
server.rcon_passwordstringrcon_password
server.weatherintweather
server.world_timeintworldtime
server.gravityfloatgravity
server.stream_distancefloatstreamdistance

Semua field config

Setiap server.<field> yang diterima system::config(), beserta tipe dan key server.cfg yang ditulis.

FieldTipeKey server.cfg
server.namestringhostname
server.hostnamestringhostname
server.max_playersintmaxplayers
server.portintport
server.gamemodestringgamemode0
server.languagestringlanguage
server.passwordstringpassword
server.rcon_passwordstringrcon_password
server.weatherintweather
server.world_timeintworldtime
server.gravityfloatgravity
server.stream_distancefloatstream_distance
server.announceboolannounce
server.map_namestringmapname
server.web_urlstringweburl
server.bindstringbind
server.connect_timeoutintconnect_timeout

Membaca config saat runtime

Nama yang sama bisa dibaca di luar system::config(), sehingga command dapat menampilkan pengaturan aktif.

knight
player::command("/serverinfo") {
    SendClientMessage(playerid, "Nama: {server.name}");
    SendClientMessage(playerid, "Pemain: {PlayerCount()} / {GetMaxPlayers()}");
};

Method server.*

PanggilanMemanggil
server.disable_interior_enter_exits()DisableInteriorEnterExits
server.game_mode_exit()GameModeExit
server.get_max_players()GetMaxPlayers
server.get_player_count()PlayerCount
server.get_gravity()GetGravity

Model kustom (0.3.DL)

cfg
useartwork 1
# artpath models                 # opsional: hanya untuk nama file saja
# artwork_cdn https://cdn/models
# artwork_port 7777
custom_invisible_vehicle_model 570
Note
useartwork bersifat opt-out: model kustom aktif secara default. Set 0 untuk menonaktifkannya.