78 lines
2.0 KiB
Lua
78 lines
2.0 KiB
Lua
LuaSetup = {}
|
|
|
|
local path = ...
|
|
|
|
local function AddTableToGlobal(tbl)
|
|
for k, v in pairs(tbl) do
|
|
_G[k] = v
|
|
end
|
|
end
|
|
|
|
if SERVER then
|
|
AddTableToGlobal(dofile(path .. "/Lua/DefaultLib/LibServer.lua"))
|
|
else
|
|
AddTableToGlobal(dofile(path .. "/Lua/DefaultLib/LibClient.lua"))
|
|
end
|
|
|
|
AddTableToGlobal(dofile(path .. "/Lua/DefaultLib/LibShared.lua"))
|
|
|
|
AddTableToGlobal(dofile(path .. "/Lua/CompatibilityLib.lua"))
|
|
|
|
dofile(path .. "/Lua/DefaultHook.lua")
|
|
|
|
Descriptors = LuaUserData
|
|
|
|
dofile(path .. "/Lua/DefaultLib/Utils/Math.lua")
|
|
dofile(path .. "/Lua/DefaultLib/Utils/String.lua")
|
|
dofile(path .. "/Lua/DefaultLib/Utils/Util.lua")
|
|
dofile(path .. "/Lua/DefaultLib/Utils/SteamApi.lua")
|
|
|
|
if not CSActive then
|
|
for k, v in pairs(debug) do
|
|
if k ~= "getmetatable" and k ~= "setmetatable" and k ~= "traceback" then
|
|
debug[k] = nil
|
|
end
|
|
end
|
|
end
|
|
|
|
if SERVER then
|
|
Networking.Receive("_luastart", function (message, client)
|
|
local num = message.ReadUInt16()
|
|
|
|
local packages = {}
|
|
|
|
for i = 1, num, 1 do
|
|
table.insert(packages, {
|
|
Name = message.ReadString(),
|
|
Version = message.ReadString(),
|
|
Id = message.ReadUInt64(),
|
|
Hash = message.ReadString()
|
|
})
|
|
end
|
|
|
|
Hook.Call("client.packages", client, packages)
|
|
end)
|
|
elseif Game.IsMultiplayer then
|
|
local message = Networking.Start("_luastart")
|
|
|
|
local packageCount = 0
|
|
for package in ContentPackageManager.EnabledPackages.All do packageCount = packageCount + 1 end
|
|
|
|
message.WriteUInt16(packageCount)
|
|
|
|
for package in ContentPackageManager.EnabledPackages.All do
|
|
local id = package.UgcId
|
|
local hash = package.Hash and package.Hash.StringRepresentation or ""
|
|
|
|
if id == nil then id = 0 end
|
|
|
|
message.WriteString(package.Name)
|
|
message.WriteString(package.ModVersion)
|
|
message.WriteUInt64(UInt64(id))
|
|
message.WriteString(hash)
|
|
end
|
|
|
|
Networking.Send(message)
|
|
end
|
|
|
|
LuaSetup = nil |