rendered paste bodyServer = { _host = "localhost", _port = 0,}Client = { _host = "localhost", -- Change to server IP _port = 8080,}function Server:Run() socket2 = require("socket") self._server = assert(socket2.bind(self._host, self._port)) ip, port = self._server:getsockname() assert(ip, port) print(ip..' running on port ' .. port)endfunction Server:LookForServerResponse() print("Waiting for response") self._client = assert(self._server:accept()) local line, error = self._client:receive() print("Response Received") line = string.sub(line,9,-1) if line ~= "UPTODATE" then self._dataFile = io.open("data.lua","w") self._dataFile:write(line) self._dataFile:close() print("data file updated") else print("data file is up to date") end self._client:close() Client:CloseConnectionToServer()endfunction Client:Run() socket = require("socket") md5 = require("md5") self._client = assert(socket.connect(self._host, self._port)) ip, port = self._client:getpeername() assert(ip, port) print("client connected to " .. ip .. " on " .. port) self:OutputData()endfunction Client:OutputData() self._dataFile = io.open("data.lua") local data = self._dataFile:read("*a") local md5 = md5.sum(data) self._dataFile:close() Server:Run() local sip, sport = Server._server:getsockname() print(sport) assert(self._client:send(sport.."request"..md5.."\n")) print("Request Sent") Server:LookForServerResponse()endfunction Client:CloseConnectionToServer() assert(self._client:send("close\n"))endClient:Run()