blob: fa10eaf01a7a102f82def7484b0c85f5ca128627 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
MASTERSERVER_IP = "master.aceattorneyonline.com:27016"
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) };
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;
}
function setServ(ID) {
console.log(descs[ID]);
if (descs[ID] != undefined) {
document.getElementById("serverdescC").innerHTML = "<b>Online: "+onlinec[ID]+"</b><br>" +descs[ID];
}
else {
document.getElementById("serverdescC").innerHTML = "";
}
// idnow = ID;
// document.getElementById("serverthumbC").src = serverpics[ID];
// if (UrlExists(serverpics[ID])) {
// document.getElementById("serverthumbC").src = serverpics[ID];
// }
// else {
// document.getElementById("serverthumbC").src = "/images/static.gif";
// }
}
function onOpen(e) {
console.log("Open");
masterserver.send("askforservers#%")
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#%");
};
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();
}
};
var oserv = new WebSocket("ws://" + coIP);
oserv.onopen = function(evt) {
onCOOpen(evt)
};
oserv.onmessage = function(evt) {
onCOMessage(evt)
};
}
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 = '';
}
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')
{
console.log(arguments);
document.getElementById('clientinfo').innerHTML = "Client version - "+arguments[0];
}
else if (header == 'SV')
{
console.log(arguments);
document.getElementById('serverinfo').innerHTML = "Masterserver version - "+arguments[0];
}
};
function onError(e) {
//Stub
};
function onClose(e) {
//Stub
};
|