diff options
| author | caleb.mabry.15@cnu.edu <caleb.mabry.15@cnu.edu> | 2022-03-05 22:08:07 -0500 |
|---|---|---|
| committer | caleb.mabry.15@cnu.edu <caleb.mabry.15@cnu.edu> | 2022-03-05 22:08:07 -0500 |
| commit | b95861ced23ee942a1991fd9157164d8e97487c7 (patch) | |
| tree | a498366c19776cf9f702fb9d42cc0035de1c2e9d /webAO/master.js | |
| parent | 0fea3c5dcb1ef94794df19b29bf611e38ce1118c (diff) | |
ESLINT fix
Diffstat (limited to 'webAO/master.js')
| -rw-r--r-- | webAO/master.js | 281 |
1 files changed, 138 insertions, 143 deletions
diff --git a/webAO/master.js b/webAO/master.js index ef1e645..f50b2a6 100644 --- a/webAO/master.js +++ b/webAO/master.js @@ -1,188 +1,183 @@ -const MASTERSERVER_IP = "master.aceattorneyonline.com:27014"; +import Fingerprint2 from 'fingerprintjs2'; import { version } from '../package.json'; -import Fingerprint2 from 'fingerprintjs2'; -import { unescapeChat } from './encoding.js'; -import { safe_tags } from './encoding.js'; +import { unescapeChat, safe_tags } from './encoding.js'; + +const MASTERSERVER_IP = 'master.aceattorneyonline.com:27014'; let masterserver; let hdid; -const options = { fonts: { extendedJsFonts: true, userDefinedFonts: ["Ace Attorney", "8bitoperator", "DINEngschrift"] }, excludes: { userAgent: true, enumerateDevices: true } }; +const options = { fonts: { extendedJsFonts: true, userDefinedFonts: ['Ace Attorney', '8bitoperator', 'DINEngschrift'] }, excludes: { userAgent: true, enumerateDevices: true } }; let selectedServer = -1; -let servers = []; -servers[-2] = { name: "Singleplayer", description: "Build cases, try out new things", ip: "127.0.0.1", port: 50001, assets: "", online: "" }; -servers[-1] = { name: "Localhost", description: "This is your computer on port 50001", ip: "127.0.0.1", port: 50001, assets: "", online: "Online: ?/?" }; +const servers = []; +servers[-2] = { + name: 'Singleplayer', description: 'Build cases, try out new things', ip: '127.0.0.1', port: 50001, assets: '', online: '', +}; +servers[-1] = { + name: 'Localhost', description: 'This is your computer on port 50001', ip: '127.0.0.1', port: 50001, assets: '', online: 'Online: ?/?', +}; if (window.requestIdleCallback) { - requestIdleCallback(function () { - Fingerprint2.get(options, function (components) { - hdid = Fingerprint2.x64hash128(components.reduce((a, b) => `${a.value || a}, ${b.value}`), 31); + requestIdleCallback(() => { + Fingerprint2.get(options, (components) => { + hdid = Fingerprint2.x64hash128(components.reduce((a, b) => `${a.value || a}, ${b.value}`), 31); - check_https(); + check_https(); - masterserver = new WebSocket("ws://" + MASTERSERVER_IP); - masterserver.onopen = (evt) => onOpen(evt); - masterserver.onerror = (evt) => onError(evt); - masterserver.onmessage = (evt) => onMessage(evt); + masterserver = new WebSocket(`ws://${MASTERSERVER_IP}`); + masterserver.onopen = (evt) => onOpen(evt); + masterserver.onerror = (evt) => onError(evt); + masterserver.onmessage = (evt) => onMessage(evt); - // i don't need the ms to play alone - setTimeout(() => checkOnline(-1, "127.0.0.1:50001"), 0); - }); - }); + // i don't need the ms to play alone + setTimeout(() => checkOnline(-1, '127.0.0.1:50001'), 0); + }); + }); } else { - setTimeout(function () { - Fingerprint2.get(options, function (components) { - hdid = Fingerprint2.x64hash128(components.reduce((a, b) => `${a.value || a}, ${b.value}`), 31); + setTimeout(() => { + Fingerprint2.get(options, (components) => { + hdid = Fingerprint2.x64hash128(components.reduce((a, b) => `${a.value || a}, ${b.value}`), 31); - check_https(); + check_https(); - masterserver = new WebSocket("ws://" + MASTERSERVER_IP); - masterserver.onopen = (evt) => onOpen(evt); - masterserver.onerror = (evt) => onError(evt); - masterserver.onmessage = (evt) => onMessage(evt); + masterserver = new WebSocket(`ws://${MASTERSERVER_IP}`); + masterserver.onopen = (evt) => onOpen(evt); + masterserver.onerror = (evt) => onError(evt); + masterserver.onmessage = (evt) => onMessage(evt); - // i don't need the ms to play alone - setTimeout(() => checkOnline(-1, "127.0.0.1:50001"), 0); - }); - }, 500); + // i don't need the ms to play alone + setTimeout(() => checkOnline(-1, '127.0.0.1:50001'), 0); + }); + }, 500); } export function check_https() { - if (document.location.protocol === "https:") { - document.getElementById("https_error").style.display = ""; - } + if (document.location.protocol === 'https:') { + document.getElementById('https_error').style.display = ''; + } } export function setServ(ID) { - selectedServer = ID; + selectedServer = ID; - if (document.getElementById(`server${ID}`).className === "") - checkOnline(ID, servers[ID].ip + ":" + servers[ID].port); + if (document.getElementById(`server${ID}`).className === '') { checkOnline(ID, `${servers[ID].ip}:${servers[ID].port}`); } - if (servers[ID].description !== undefined) { - document.getElementById("serverdescription_content").innerHTML = "<b>" + servers[ID].online + "</b><br>" + safe_tags(servers[ID].description); - } - else { - document.getElementById("serverdescription_content").innerHTML = ""; - } + if (servers[ID].description !== undefined) { + document.getElementById('serverdescription_content').innerHTML = `<b>${servers[ID].online}</b><br>${safe_tags(servers[ID].description)}`; + } else { + document.getElementById('serverdescription_content').innerHTML = ''; + } } window.setServ = setServ; function onOpen(_e) { - console.log(`Your emulated HDID is ${hdid}`); - masterserver.send(`ID#webAO#webAO#%`); + console.log(`Your emulated HDID is ${hdid}`); + masterserver.send('ID#webAO#webAO#%'); - masterserver.send("ALL#%"); - masterserver.send("VC#%"); + masterserver.send('ALL#%'); + masterserver.send('VC#%'); } /** * Triggered when an network error occurs. - * @param {ErrorEvent} e + * @param {ErrorEvent} e */ function onError(evt) { - document.getElementById("ms_error").style.display = "block"; - document.getElementById("ms_error_code").innerText = `A network error occurred: ${evt.reason} (${evt.code})`; - return; + document.getElementById('ms_error').style.display = 'block'; + document.getElementById('ms_error_code').innerText = `A network error occurred: ${evt.reason} (${evt.code})`; } function checkOnline(serverID, coIP) { - let oserv; - if (serverID !== -2) { - try { - oserv = new WebSocket("ws://" + coIP); - } catch (SecurityError) { - document.getElementById(`server${serverID}`).className = "unavailable"; - return; - } - - } - - // define what the callbacks do - function onCOOpen(_e) { - document.getElementById(`server${serverID}`).className = "available"; - oserv.send(`HI#${hdid}#%`); - oserv.send(`ID#webAO#webAO#%`); - } - - function onCOMessage(e) { - const comsg = e.data; - const coheader = comsg.split("#", 2)[0]; - const coarguments = comsg.split("#").slice(1); - if (coheader === "PN") { - servers[serverID].online = `Online: ${Number(coarguments[0])}/${Number(coarguments[1])}`; - oserv.close(); - return; - } - else if (coheader === "BD") { - servers[serverID].online = "Banned"; - servers[serverID].description = coarguments[0]; - oserv.close(); - return; - } - if (serverID === selectedServer) - document.getElementById("serverdescription_content").innerHTML = "<b>" + servers[serverID].online + "</b><br>" + safe_tags(servers[serverID].description); - } - - // assign the callbacks - oserv.onopen = function (evt) { - onCOOpen(evt); - }; - - oserv.onmessage = function (evt) { - onCOMessage(evt); - }; - - oserv.onerror = function (_evt) { - console.warn(coIP + " threw an error."); - document.getElementById(`server${serverID}`).className = "unavailable"; - return; - }; - + let oserv; + if (serverID !== -2) { + try { + oserv = new WebSocket(`ws://${coIP}`); + } catch (SecurityError) { + document.getElementById(`server${serverID}`).className = 'unavailable'; + return; + } + } + + // define what the callbacks do + function onCOOpen(_e) { + document.getElementById(`server${serverID}`).className = 'available'; + oserv.send(`HI#${hdid}#%`); + oserv.send('ID#webAO#webAO#%'); + } + + function onCOMessage(e) { + const comsg = e.data; + const coheader = comsg.split('#', 2)[0]; + const coarguments = comsg.split('#').slice(1); + if (coheader === 'PN') { + servers[serverID].online = `Online: ${Number(coarguments[0])}/${Number(coarguments[1])}`; + oserv.close(); + return; + } + if (coheader === 'BD') { + servers[serverID].online = 'Banned'; + servers[serverID].description = coarguments[0]; + oserv.close(); + return; + } + if (serverID === selectedServer) { document.getElementById('serverdescription_content').innerHTML = `<b>${servers[serverID].online}</b><br>${safe_tags(servers[serverID].description)}`; } + } + + // assign the callbacks + oserv.onopen = function (evt) { + onCOOpen(evt); + }; + + oserv.onmessage = function (evt) { + onCOMessage(evt); + }; + + oserv.onerror = function (_evt) { + console.warn(`${coIP} threw an error.`); + document.getElementById(`server${serverID}`).className = 'unavailable'; + }; } function onMessage(e) { - const msg = e.data; - const header = msg.split("#", 2)[0]; - console.debug(msg); - - if (header === "ALL") { - const allservers = msg.split("#").slice(1); - for (let i = 0; i < allservers.length - 1; i++) { - const serverEntry = allservers[i]; - const args = serverEntry.split("&"); - - let thisserver = { name: args[0], description: args[1], ip: args[2], port: Number(args[3]), assets: args[4], online: "Online: ?/?" }; - servers[i] = thisserver; - - const ipport = args[2] + ":" + args[3]; - const asset = args[4] ? `&asset=${args[4]}` : ""; - - document.getElementById("masterlist").innerHTML += - `<li id="server${i}" onmouseover="setServ(${i})"><p>${safe_tags(servers[i].name)}</p>` + const msg = e.data; + const header = msg.split('#', 2)[0]; + console.debug(msg); + + if (header === 'ALL') { + const allservers = msg.split('#').slice(1); + for (let i = 0; i < allservers.length - 1; i++) { + const serverEntry = allservers[i]; + const args = serverEntry.split('&'); + + const thisserver = { + name: args[0], description: args[1], ip: args[2], port: Number(args[3]), assets: args[4], online: 'Online: ?/?', + }; + servers[i] = thisserver; + + const ipport = `${args[2]}:${args[3]}`; + const asset = args[4] ? `&asset=${args[4]}` : ''; + + document.getElementById('masterlist').innerHTML + += `<li id="server${i}" onmouseover="setServ(${i})"><p>${safe_tags(servers[i].name)}</p>` + `<a class="button" href="client.html?mode=watch&ip=${ipport}${asset}">Watch</a>` - + `<a class="button" href="client.html?mode=join&ip=${ipport}${asset}">Join</a></li>`; - } - masterserver.close(); - return; - } - else if (header === "servercheok") { - const args = msg.split("#").slice(1); - document.getElementById("clientinfo").innerHTML = `Client version: ${version} expected: ${args[0]}`; - } - else if (header === "SV") { - const args = msg.split("#").slice(1); - document.getElementById("serverinfo").innerHTML = `Master server version: ${args[0]}`; - } - else if (header === "CT") { - const args = msg.split("#").slice(1); - const msChat = document.getElementById("masterchat"); - msChat.innerHTML += `${unescapeChat(args[0])}: ${unescapeChat(args[1])}\r\n`; - if (msChat.scrollTop > msChat.scrollHeight - 600) { - msChat.scrollTop = msChat.scrollHeight; - } - } + + `<a class="button" href="client.html?mode=join&ip=${ipport}${asset}">Join</a></li>`; + } + masterserver.close(); + } else if (header === 'servercheok') { + const args = msg.split('#').slice(1); + document.getElementById('clientinfo').innerHTML = `Client version: ${version} expected: ${args[0]}`; + } else if (header === 'SV') { + const args = msg.split('#').slice(1); + document.getElementById('serverinfo').innerHTML = `Master server version: ${args[0]}`; + } else if (header === 'CT') { + const args = msg.split('#').slice(1); + const msChat = document.getElementById('masterchat'); + msChat.innerHTML += `${unescapeChat(args[0])}: ${unescapeChat(args[1])}\r\n`; + if (msChat.scrollTop > msChat.scrollHeight - 600) { + msChat.scrollTop = msChat.scrollHeight; + } + } } |
