aboutsummaryrefslogtreecommitdiff
path: root/webAO/master.ts
diff options
context:
space:
mode:
authorDavid Skoland <davidskoland@gmail.com>2023-11-19 23:19:25 +0100
committerDavid Skoland <davidskoland@gmail.com>2023-11-20 21:10:04 +0100
commitdf67ca5b2cded28a933aa43de2b1366c98562d55 (patch)
tree80ef1255cdb3d7625372ab2e3e0776360bfd92a5 /webAO/master.ts
parentf837eb7df37f5770e3f481782105911b02b32e27 (diff)
Add setServ back
also known as "whoops, we actually needed that code" This changes "Online" to "Players", and will only show the playercount reported by masterserver. It's a bit disingenuous to show "Online" if we can't confirm that we can actually connect to it.
Diffstat (limited to 'webAO/master.ts')
-rw-r--r--webAO/master.ts19
1 files changed, 17 insertions, 2 deletions
diff --git a/webAO/master.ts b/webAO/master.ts
index c5f57c0..c3893c0 100644
--- a/webAO/master.ts
+++ b/webAO/master.ts
@@ -1,5 +1,11 @@
import { safeTags } from './encoding';
+declare global {
+ interface Window {
+ setServ: (ID: number) => void;
+ }
+}
+
interface AOServer {
name: string,
description: string,
@@ -56,6 +62,15 @@ function main() {
main();
+export function setServ(ID: number) {
+ console.log(`Setting server to ${ID}`);
+ const server = servers[ID];
+ const onlineStr = server.online;
+ const serverDesc = safeTags(server.description);
+ document.getElementById('serverdescription_content').innerHTML = `<b>${onlineStr}</b><br>${serverDesc})`;
+}
+window.setServ = setServ;
+
// Fetches the serverlist from the masterserver
// Returns a properly typed list of servers
@@ -144,11 +159,11 @@ function processServerlist(serverlist: AOServer[]) {
const connect = `${protocol}://${server.ip}:${port}`;
const serverName = server.name;
- server.online = 'Offline';
+ server.online = `Players: ${server.players}`;
servers.push(server);
document.getElementById('masterlist').innerHTML
- += `<li id="server${i}"><p>${safeTags(server.name)} (${server.players})</p>`
+ += `<li id="server${i}" onmouseover="setServ(${i})"><p>${safeTags(server.name)} (${server.players})</p>`
+ `<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>`;
}