Initial Commit

This commit is contained in:
2025-05-06 11:51:18 +02:00
commit f8da3dce2e
2 changed files with 67 additions and 0 deletions

64
core.lua Normal file
View File

@@ -0,0 +1,64 @@
-- Websocker: Used for connection between the controle webserver and Units(computers)
local ws
function Core:connect()
ws, err = assert(http.websocket("ws://localhost:8080"));
if not ws then
term.setTextColor(colors.red);
print(err);
term.setTextColor(colors.white);
end
end
function Core:send(package)
if not package then
return false, "Missing package";
end
if not ws then
return false, "Websocket not initiated";
end
ws.send(textutils.serialiseJSON(package));
end
function Core:read()
if not ws then
return false, "Websocket not initiated";
end
return true, textutils.unserialiseJSON(ws.read())
end
function Core:download(file)
if not ws then
return false, "Websocket not initiated";
end
self:send({type = "REQUEST_FILE_INFO", file = file});
local success, data = self:read();
if not success then
return false, "Failed to read: "+data;
end
if not data.type then
return false, "Invalid package: "+textutils.serialiseJSON(data);
end
if not (data.type == "FILE_INFO") then
return false, "Invalid package type: "+textutils.serialiseJSON(data);
end
if not data.exists then
return false, "File is missing from server"
end
self:send({type = "REQUEST_FILE_DATA", file = file})
local success, data = self:read();
end

3
excavate.lua Normal file
View File

@@ -0,0 +1,3 @@
require("core")
Core.connect()