diff options
| -rw-r--r-- | webAO/master.ts | 11 | ||||
| -rw-r--r-- | webAO/utils/queryParser.ts | 4 |
2 files changed, 10 insertions, 5 deletions
diff --git a/webAO/master.ts b/webAO/master.ts index 336fc5f..a09d111 100644 --- a/webAO/master.ts +++ b/webAO/master.ts @@ -215,26 +215,29 @@ function processServerlist(serverlist: AOServer[]) { for (let i = 0; i < serverlist.length - 1; i++) { const server = serverlist[i]; let port = 0; + let protocol = ''; if (server.ws_port) { port = server.ws_port; + protocol = 'ws'; } if (server.wss_port) { port = server.wss_port; + protocol = 'wss'; } - if (port === 0) { + if (port === 0 || protocol === '') { continue; } - const ipport = `${server.ip}:${port}`; + const connect = `${protocol}://${server.ip}:${port}`; const serverName = server.name; server.online = 'Offline'; servers.push(server); document.getElementById('masterlist').innerHTML += `<li id="server${i}" onmouseover="setServ(${i})"><p>${safeTags(server.name)} (${server.players})</p>` - + `<a class="button" href="${clientURL}?mode=watch&ip=${ipport}&serverName=${serverName}">Watch</a>` - + `<a class="button" href="${clientURL}?mode=join&ip=${ipport}&serverName=${serverName}">Join</a></li>`; + + `<a class="button" href="${clientURL}?mode=watch&connect=${connect}&serverName=${serverName}">Watch</a>` + + `<a class="button" href="${clientURL}?mode=join&connect=${connect}&serverName=${serverName}">Join</a></li>`; } } diff --git a/webAO/utils/queryParser.ts b/webAO/utils/queryParser.ts index f934ac6..a8b82d9 100644 --- a/webAO/utils/queryParser.ts +++ b/webAO/utils/queryParser.ts @@ -2,6 +2,7 @@ interface QueryParams { ip: string; + connect: string; mode: string; asset: string; theme: string; @@ -12,10 +13,11 @@ const queryParser = (): QueryParams => { const urlParams = new URLSearchParams(window.location.search); const queryParams = { ip: urlParams.get("ip") || "", + connect: urlParams.get("connect") || "", mode: urlParams.get("mode") || "join", asset: urlParams.get("asset") || "http://attorneyoffline.de/base/", theme: urlParams.get("theme") || "default", - serverName: urlParams.get("serverName") || "Attorney Online session" + serverName: urlParams.get("serverName") || "Attorney Online session", } return queryParams as QueryParams; }; |
