aboutsummaryrefslogtreecommitdiff
path: root/gamemode/server/regtomaster.lua
diff options
context:
space:
mode:
Diffstat (limited to 'gamemode/server/regtomaster.lua')
-rw-r--r--gamemode/server/regtomaster.lua31
1 files changed, 31 insertions, 0 deletions
diff --git a/gamemode/server/regtomaster.lua b/gamemode/server/regtomaster.lua
new file mode 100644
index 0000000..9909fc8
--- /dev/null
+++ b/gamemode/server/regtomaster.lua
@@ -0,0 +1,31 @@
+
+local function GetIP()
+ local hostip = GetConVar( "hostip" ):GetString()
+ hostip = tonumber( hostip )
+
+ local ip = {}
+ ip[ 1 ] = bit.rshift( bit.band( hostip, 0xFF000000 ), 24 )
+ ip[ 2 ] = bit.rshift( bit.band( hostip, 0x00FF0000 ), 16 )
+ ip[ 3 ] = bit.rshift( bit.band( hostip, 0x0000FF00 ), 8 )
+ ip[ 4 ] = bit.band( hostip, 0x000000FF )
+
+ return table.concat( ip, "." )
+end
+
+function GM:AddToMaster()
+ if(!game.IsDedicated())then
+ print("Listen or singleplayer, not registering with master server!")
+ return
+ end
+ local data = {}
+ data["hostname"] = GetHostName()
+ data["ip"] = "" + GetIP() + ":" + (GetConVar("wss_serverurlport"):GetString() or 27015)
+ data["online"] = "true"
+ http.Post(GetConVar("wss_wss_masterserverurl"):GetString(),data)
+end
+
+function GM:RemoveFromMaster()
+ local data = {}
+ data["online"] = "false"
+ http.Post(GAMEMODE.masterurl,data)
+end