aboutsummaryrefslogtreecommitdiff
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
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.
-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>`;
}