45 lines
1.2 KiB
Text
45 lines
1.2 KiB
Text
|
|
Database is a regular Lua script that returns a table.
|
|
|
|
Table has a single named field `timestamp' containing the time_t the
|
|
DB was last saved. It's not used in the mod and is only meant for
|
|
external use (I don't find filesystem timestamps too reliable).
|
|
|
|
Next is a simple array (number indices) of entries.
|
|
|
|
Each entry contains following fields:
|
|
|
|
[1] = {
|
|
-- Names/IPs associated with this entry
|
|
names = {
|
|
["foo"] = true,
|
|
["bar"] = true,
|
|
["123.45.67.89"] = true,
|
|
},
|
|
banned = true, -- Whether this user is banned
|
|
-- Other fields do not apply if false
|
|
time = 12341234, -- Time of last ban (*1)
|
|
expires = 43214321 -- Time at which ban expires (*2)
|
|
-- If nil, permanent ban
|
|
reason = "asdf", -- Reason for ban
|
|
source = "qwerty", -- Source of ban (*2)
|
|
record = {
|
|
[1] = {
|
|
source = "asdf",
|
|
reason = "qwerty",
|
|
time = 12341234,
|
|
expires = 43214321,
|
|
},
|
|
[1] = {
|
|
source = "asdf",
|
|
reason = "Unbanned", -- When unbanned
|
|
time = 12341234,
|
|
},
|
|
},
|
|
}
|
|
|
|
Notes:
|
|
(*1) All times are expressed in whatever unit `os.time()' uses
|
|
(`time_t' on most (all?) systems).
|
|
(*2) Mods using the xban API are advised to use the "modname:source"
|
|
format for `source' (for example: "anticheat:main").
|