aboutsummaryrefslogtreecommitdiff
path: root/gamemode/server
diff options
context:
space:
mode:
authorAlexander Pickering <Alexander.Pickering@anondomain.site90.net>2016-01-10 13:38:40 -0500
committerAlexander Pickering <Alexander.Pickering@anondomain.site90.net>2016-01-10 13:38:40 -0500
commit397481c41dc2180edd40a06c9053d5c3df8b417f (patch)
tree90a4f849d427bd1dea08125fecdc144ba70ad1db /gamemode/server
parenta6f43351e1e6e2fefdcf337cabeb6494ceb4563c (diff)
downloadwintersurvival2-397481c41dc2180edd40a06c9053d5c3df8b417f.tar.gz
wintersurvival2-397481c41dc2180edd40a06c9053d5c3df8b417f.tar.bz2
wintersurvival2-397481c41dc2180edd40a06c9053d5c3df8b417f.zip
Workon getting servers to register with a master server
Diffstat (limited to 'gamemode/server')
-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