Server Side Scripting – ArmA: Armed Assault

From Bohemia Interactive Community
Revision as of 09:32, 8 June 2007 by Suma (talk | contribs) (Transferred from internal docs - WIP, translation needed)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The server has a separate Virtual Machine (VM) running administration scripts. This VM is completely independent on the game scripting environment and is designed to automate some administration tasks related to player administration and cheat detection. The basic way how scripts are executed is via event handlers reacting to some typical events, server admin can also execute individual commands using a chat command #exec.

Event handlers are defined in server.cfg file.

The scripting language shares the core (overall structure and syntax, arithmetic operations, control structures) with the scripting used in the game. The are a few commands specific to Server Side Scripting:

příkaz popis
users vrací pole uživatelů, uživatel je popsán jako pár [id,name]
ban id přidat uživatele id do ban listu
kick id vykopnout uživatele ze serveru
level checkFile [id,name] provést test integrity souboru name u hráče id, level udává důkladnost testu
level checkFile [id,index] provést test integrity se souborem s daným indexem u hráče id
numberOfFiles id počet používaných souborů pro daného hráče
listOfFiles id seznam názvů používaných souborů pro daného hráče
level checkExe id provést test integrity exe u hráče id

Following event handlers are executed:

událost popis parametry handleru
doubleIdDetected detekováni dva uživatelé se stejným id id uživatele
onUserConnected reakce na připojení uživatele id uživatele
onUserDisconnected reakce na odpojení uživatele id uživatele
onHackedData zjištěna manipulace s pbo soubory id uživatele, název souboru
onDifferentData zjištěn soubor odlišný od verze na serveru, s platným podpisem id uživatele, název souboru
onUnsignedData zjištěn soubor bez podpisu id uživatele, název souboru
regularCheck volána pro každého uživatele víceméně pravidelně, s náhodnou variací id uživatele, pořadové číslo testu