Server Side Scripting – ArmA: Armed Assault

From Bohemia Interactive Community
Jump to navigation Jump to search
m (typo)
(Fixed checkFile dexcription)
Line 14: Line 14:
|  kick id || kick off given user id from the server
|  kick id || kick off given user id from the server
|-
|-
|  level checkFile [id,name] || check file [[ArmA: Addon Signatures|signature]] for given file on given user computer, level determines test depth (0 = default, 1 = deep. Note: deep can be very slow)
|  level checkFile [id,file index] || check file with given index [[ArmA: Addon Signatures|signature]] for given file on given user computer, level determines test depth (0 = default, 1 = deep. Note: deep can be very slow)
|-
|-
|  numberOfFiles id || number of addons files used for given player
|  numberOfFiles id || number of addons files used for given player - can be used to determine suitable values for checkFile
|}
|}



Revision as of 16:39, 5 January 2011

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. There are a few commands specific to Server Side Scripting:

command description
users list of users, each user is described as [id,name] array
ban id add given user id into the ban list
kick id kick off given user id from the server
level checkFile [id,file index] check file with given index signature for given file on given user computer, level determines test depth (0 = default, 1 = deep. Note: deep can be very slow)
numberOfFiles id number of addons files used for given player - can be used to determine suitable values for checkFile

Following event handlers are executed:

event description handler parameters
doubleIdDetected 2nd user with the same ID detected user id
onUserConnected user has connected user id
onUserDisconnected user has disconnected user id
onHackedData modification of signed pbo detected user id, file name
onDifferentData signed pbo detected with a valid signature, but a different version than a server has (very strict test, use sparingly) user id, file name
onUnsignedData unsigned data detected user id, file name
regularCheck called time by time for each user, test index is growing user id, test index