12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- 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").
|