socketmud/
socketmud/doc/
socketmud/help/
socketmud/players/
socketmud/scripts/
socketmud/scripts/brain_data/
socketmud/scripts/brain_data/base_brains/
socketmud/scripts/cmd_data/
socketmud/scripts/cmd_data/commands/
socketmud/scripts/home/
socketmud/scripts/home/LordLua/
local _t = {};
local lrget = rawget;
local lrset = rawset;
local lsetmeta = setmetatable;
local lIsCore = is_core;
local securedTables = {};

local function lRawGet(t,k)
		return lrget(t,k)
end

local function lRawSet(t,k,v)
	local answer
		answer = lIsCore();
	if answer==true then
		return lrset(t,k,v)
	else
		error("Non core attempt to use lRawSet, with key: " .. k);
	end
end

local function lSetMeta(t, m)
	if lIsCore then
		lsetmeta(t,m)
	end
end


rawget = lRawGet;
rawset = lRawSet;
setmetatable = lSetMeta;

xpcall = nil;
debug = nil;
os = nil;
module = nil;
package = nil;
pcall = nil;
require = nil;
dofile = nil;
load = nil;
loadfile = nil;
coroutine = nil;
io = nil;
file = nil;
loadstring = nil;
setfenv = nil;
getfenv = nil;

collectgarbage();

for k,v in pairs(_G) do
        _t[k] = v;
end;
local mt = {};
function mt.__index(t,k)
	 return lRawGet(_t,k);
end
function mt.__newindex(t,k,v)
	if (t == nil or k == nil or v == nil) then
		_t.log_string("Bad call to newindex with key: " .. k)
	end
	 lRawSet(_t,k,v)
end;
for k,v in _t.pairs(_G) do
        if k ~= '_G' then
                _G[k] = nil;
        end;
end;
_t.setmetatable(_G,mt);
_G = _t;