diff options
Diffstat (limited to 'webAO')
| -rw-r--r-- | webAO/master.js | 68 |
1 files changed, 33 insertions, 35 deletions
diff --git a/webAO/master.js b/webAO/master.js index fa10eaf..4c29a7c 100644 --- a/webAO/master.js +++ b/webAO/master.js @@ -1,21 +1,23 @@ -MASTERSERVER_IP = "master.aceattorneyonline.com:27016" +MASTERSERVER_IP = "master.aceattorneyonline.com:27014" +//MASTERSERVER_IP = "192.168.1.28:27014" masterserver = new WebSocket("ws://" + MASTERSERVER_IP); -masterserver.onopen = function(evt) { onOpen(evt) }; -masterserver.onclose = function(evt) { onClose(evt) }; -masterserver.onmessage = function(evt) { onMessage(evt) }; -masterserver.onerror = function(evt) { onError(evt) }; +masterserver.onopen = (evt) => onOpen(evt); +masterserver.onclose = (evt) => onClose(evt); +masterserver.onmessage = (evt) => onMessage(evt); +masterserver.onerror = (evt) => onError(evt); var idnow; var descs = []; descs[99]="This is your computer on port 27016"; var onlinec = []; var serverpics = []; + function UrlExists(url) { var http = new XMLHttpRequest(); http.open('HEAD', url, false); http.send(); - return http.status!=404; + return http.status != 404; } function setServ(ID) { @@ -38,26 +40,25 @@ function setServ(ID) { function onOpen(e) { console.log("Open"); - masterserver.send("askforservers#%") - masterserver.send("VC#%") + masterserver.send("ID#webAO#webAO#%"); + masterserver.send("ALL#%"); + masterserver.send("VC#%"); }; function checkOnline(serverID,coIP) { function onCOOpen(e) { console.log("Open"); - console.log("YES") - oserv.send("HI#" + navigator.userAgent + "#%"); - oserv.send("ID#webAO#2.4.5#%"); + document.getElementById('server'+serverID).className = "available"; + oserv.send("HI#webAO#%"); + oserv.send("ID#webAO#webAO#%"); }; function onCOMessage(e) { comsg = e.data; console.log(comsg) - console.log("YES") coheader = comsg.split('#', 2)[0]; coarguments = comsg.split('#').slice(1) if (coheader == 'PN') { onlinec[serverID]=coarguments[0]+"/"+coarguments[1]; - document.getElementById('server'+serverID).className = "available"; oserv.close(); } }; @@ -65,11 +66,11 @@ function checkOnline(serverID,coIP) { var oserv = new WebSocket("ws://" + coIP); oserv.onopen = function(evt) { - onCOOpen(evt) + onCOOpen(evt); }; oserv.onmessage = function(evt) { - onCOMessage(evt) + onCOMessage(evt); }; } @@ -78,31 +79,28 @@ function onMessage(e) { msg = e.data; console.log(msg) header = msg.split('#', 2)[0]; - arguments = msg.split('#').slice(1) - if (header == 'SN') { - console.log(arguments[2].substring(0, 7)); - if (arguments[2].substring(0, 7) == 'serverD') { - unavv = 'class="available" '; - } - else if (arguments[2] == 'VANILLA'){ - unavv = 'class="unavailable" '; - }else{ - unavv = ''; + if (header == 'ALL') { + let servers = msg.split('#').slice(1) + for (let i = 0; i < servers.length; i++) { + let serverEntry = servers[i]; + let arguments = serverEntry.split('&'); + document.getElementById('masterlist').innerHTML += + `<li id="server${i}" class="unavailable" onmouseover="setServ(${i})"><p>${arguments[0]}</p>` + + `<a class="button" href="client.html?mode=watch&ip=${arguments[2]}:${arguments[3]}">Watch</a>` + + `<a class="button" href="client.html?mode=join&ip=${arguments[2]}:${arguments[3]}">Join</a></li><br/>`; + descs[i] = arguments[1]; + setTimeout(checkOnline(i, arguments[2] + ':' + arguments[3]), 3); } - document.getElementById('masterlist').innerHTML += '<li id="server' + arguments[0] + '" onmouseover="setServ(' + arguments[0] + ')"><p>' + arguments[4] + '</p> <a class=\"button\" href=\"client.html?mode=watch&ip=' + arguments[1] + ':' + arguments[3] + '\">Watch</a><a class=\"button\" href=\"client.html?mode=join&ip=' + arguments[1] + ':' + arguments[3] + '\">Join</a></li><br/>' - serverpics[arguments[0]] = arguments[2]; - descs[arguments[0]] = arguments[5]; - setTimeout(checkOnline(arguments[0],arguments[1] + ':' + arguments[3]), 3); } - else if (header == 'servercheok') - { + else if (header == 'servercheok') { + let arguments = msg.split('#').slice(1) console.log(arguments); - document.getElementById('clientinfo').innerHTML = "Client version - "+arguments[0]; + document.getElementById('clientinfo').innerHTML = "Client version: " + arguments[0]; } - else if (header == 'SV') - { + else if (header == 'SV') { + let arguments = msg.split('#').slice(1) console.log(arguments); - document.getElementById('serverinfo').innerHTML = "Masterserver version - "+arguments[0]; + document.getElementById('serverinfo').innerHTML = "Master server version: "+arguments[0]; } }; |
