From 8695476bebaea7469ea1aaf4c13ec8e020353d39 Mon Sep 17 00:00:00 2001 From: Diego Martinez Date: Mon, 19 May 2014 23:23:43 -0300 Subject: First commit. --- doc/dbformat.txt | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 doc/dbformat.txt (limited to 'doc/dbformat.txt') diff --git a/doc/dbformat.txt b/doc/dbformat.txt new file mode 100644 index 0000000..71b25a5 --- /dev/null +++ b/doc/dbformat.txt @@ -0,0 +1,45 @@ + +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"). -- cgit v1.2.3