Here's what I got for a server.cs.
Note that old entries are deleted automatically, so the client (blockland server) dosn't need to send any kind of shutdown/disconnect packet.
echo("Azjherben 'place types - server side' script loaded.");
$azjservertype = 1;
$azjkey = "";
function setupazjherbenrating(%servertheme)
{
echo("Posting existance and server type to Azjherbeniex servers.");
%sname = localclientconnection.getplayername();
%azjarg = "placetype=" @ %servertheme @ "|" @ %sname;
if(!isObject($azjhpost))
{
$azjhpost = new HTTPObject(azjhpost);
}
$azjhpost.get("regestar.blockland.azjhv.org:80","/placetypes/formulate.php",%azjarg);
}
function azjhpost::OnLine(%this,%line)
{
if(getSubStr(%line,0,4) $= "k02|")
{
echo("Server regestered successfully.");
$azjkey = getSubStr(%line,4,strlen(%line)-4);
echo("New key recived: "@$azjkey);
schedule(5000,0,sendazjherbenheartbeat,$azjservertype,$azjkey);
}
}
schedule(5000,0,setupazjherbenrating,$azjservertype);
function sendazjherbenheartbeat(%servertheme,%key)
{
echo("Sending heart beat to Azjherbeniex server.");
%sname = localclientconnection.getplayername();
%azjarg = "placetype=" @ %servertheme @ "|" @ %key;
if(!isObject($azjhpost))
{
$azjhpost = new HTTPObject(azjhpost);
}
$azjhpost.get("regestar.blockland.azjhv.org:80","/placetypes/heartbeat.php",%azjarg);
schedule(60000,0,sendazjherbenheartbeat,1,$azjkey);
}
Any concerns about security or efficiency? (that is if you cared to look)
NOTE: There is going to be a client.cs that will handle the changing of $azjkey and the sorting of places.