summaryrefslogtreecommitdiff
path: root/xban2/importers/v1.lua
blob: a3722c73943bdb5c6df1d9a58dcbbcc1a4eb8ef3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

function xban.importers.v1()
	local f, e = io.open(minetest.get_worldpath().."/players.iplist")
	if not f then
		return false, "Unable to open `players.iplist': "..e
	end
	for line in f:lines() do
		local list = line:split("|")
		if #list >= 2 then
			local banned = (list[1]:sub(1, 1) == "!")
			local entry
			entry = xban.find_entry(list[1], true)
			entry.banned = banned
			for _, name in ipairs(list) do
				entry.names[name] = true
			end
			if banned then
				entry.reason = "Banned in `players.iplist'"
				entry.time = os.time()
				entry.expires = nil
				entry.source = "xban:importer_v1"
				table.insert(entry.record, {
					source = entry.source,
					reason = entry.reason,
					time = entry.time,
					expires = nil,
				})
			end
		end
	end
	f:close()
	return true
end