aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--webAO/client.css2
-rw-r--r--webAO/client.html433
-rw-r--r--webAO/master.html77
3 files changed, 269 insertions, 243 deletions
diff --git a/webAO/client.css b/webAO/client.css
index 1573103..56a0336 100644
--- a/webAO/client.css
+++ b/webAO/client.css
@@ -28,9 +28,11 @@ img {
0% {
color: #fff;
}
+
50% {
color: red;
}
+
100% {
color: #fff;
}
diff --git a/webAO/client.html b/webAO/client.html
index c824ad3..860e043 100644
--- a/webAO/client.html
+++ b/webAO/client.html
@@ -11,7 +11,8 @@
<script src="https://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link type="text/css" rel="stylesheet" href="golden/css/goldenlayout.css" />
- <link type="text/css" rel="stylesheet" href="https://golden-layout.com/files/latest/css/goldenlayout-dark-theme.css" />
+ <link type="text/css" rel="stylesheet"
+ href="https://golden-layout.com/files/latest/css/goldenlayout-dark-theme.css" />
<link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<script src="lib/jquery.ui.touch-punch.min.js"></script>
<script src="lib/jdataview.min.js"></script>
@@ -23,99 +24,101 @@
<template id="client_wrapper">
<meta name="frame-title" lang="en" content="Game">
<div id="client_icwrapper">
- <div id="client_background">
- <div id="client_gamewindow">
- <img id="client_court" alt="Courtroom backdrop" onerror="imgError(this);">
- <img id="client_char" alt="Character" onerror="charError(this);">
- <img id="client_bench">
- <img id="client_fg" alt="Various overlay" onerror="imgError(this);">
- <img id="client_evi" src="misc/evidence_selector.png" alt="Character Evidence" onerror="imgError(this);">
- <img id="client_shout" alt="Shout overlay" src="misc/placeholder.gif" onerror="imgError(this);">
- <div id="client_name">
- <p>Dolan</p>
- </div>
- <div id="client_chat">
- <p id="client_inner_chat"></p>
+ <div id="client_background">
+ <div id="client_gamewindow">
+ <img id="client_court" alt="Courtroom backdrop" onerror="imgError(this);">
+ <img id="client_char" alt="Character" onerror="charError(this);">
+ <img id="client_bench">
+ <img id="client_fg" alt="Various overlay" onerror="imgError(this);">
+ <img id="client_evi" src="misc/evidence_selector.png" alt="Character Evidence"
+ onerror="imgError(this);">
+ <img id="client_shout" alt="Shout overlay" src="misc/placeholder.gif" onerror="imgError(this);">
+ <div id="client_name">
+ <p>Dolan</p>
+ </div>
+ <div id="client_chat">
+ <p id="client_inner_chat"></p>
+ </div>
+ <img id="client_testimony" alt="Testimony overlay" style="display: none;" onerror="imgError(this);">
+ </div>
</div>
- <img id="client_testimony" alt="Testimony overlay" style="display: none;" onerror="imgError(this);">
- </div>
- </div>
- <input id="client_inputbox" class="long" type="text" onkeypress="onEnter(event)" placeholder="Say something&hellip;">
- <meta name="frame-title" lang="en" content="Miscellaneous">
- <div id="client_bars">
- <span id="client_defense_hp" class="health-box">
- <div class="health-bar"></div>
- </span>
- <span id="client_prosecutor_hp" class="health-box">
- <div class="health-bar"></div>
- </span>
- </div>
- <div id="client_emo">
- </div>
- <br>
- <div id="client_buttons">
- <img src="misc/holdit.png" id="button_1" alt="Hold it!" class="client_button" onclick="toggleShout(1)">
- <img src="misc/objection.png" id="button_2" alt="OBJECTION!" class="client_button" onclick="toggleShout(2)">
- <img src="misc/takethat.png" id="button_3" alt="Take That!" class="client_button" onclick="toggleShout(3)">
- <br>
- <br>
- <label for="textcolor">Text Color:</label>
- <select id="textcolor" name="textcolor">
- <option value="0">Default</option>
- <option value="1">Green</option>
- <option value="2">Red</option>
- <option value="3">Orange</option>
- <option value="4">Blue</option>
- <option value="5">Yellow</option>
- <option value="6">Margenta</option>
- </select>
- <label for="sendsfx">SFX</label>
- <input type="checkbox" id="sendsfx" name="sendsfx" value="sendsfx">
- <br>
- <br>
- <img src="misc/flip.png" id="button_flip" alt="Flip" class="client_button" onclick="toggleFlip()">
- <img src="misc/flash.png" id="button_effect_1" alt="Flash" class="client_button" onclick="toggleEffect(1)">
- <img src="misc/shake.png" id="button_effect_2" alt="Shake" class="client_button" onclick="toggleEffect(2)">
- </div>
- <fieldset style="margin:10px;">
- <legend>Actions</legend>
- <!-- Judge Commands -->
- <span id="judge_action" style="display:none">
- <span id="menu_wt" onclick="initWT()" class="menu_icon">
- <i class="material-icons em-3">record_voice_over</i>
- <div>Witness
- <br>Testimony</div>
+ <input id="client_inputbox" class="long" type="text" onkeypress="onEnter(event)"
+ placeholder="Say something&hellip;">
+ <meta name="frame-title" lang="en" content="Miscellaneous">
+ <div id="client_bars">
+ <span id="client_defense_hp" class="health-box">
+ <div class="health-bar"></div>
</span>
- <span id="menu_ce" onclick="initCE()" class="menu_icon">
- <i class="material-icons em-3">question_answer</i>
- <div>Cross
- <br>Examination</div>
+ <span id="client_prosecutor_hp" class="health-box">
+ <div class="health-bar"></div>
</span>
+ </div>
+ <div id="client_emo">
+ </div>
+ <br>
+ <div id="client_buttons">
+ <img src="misc/holdit.png" id="button_1" alt="Hold it!" class="client_button" onclick="toggleShout(1)">
+ <img src="misc/objection.png" id="button_2" alt="OBJECTION!" class="client_button" onclick="toggleShout(2)">
+ <img src="misc/takethat.png" id="button_3" alt="Take That!" class="client_button" onclick="toggleShout(3)">
<br>
- <span style="display:inline-block; vertical-align: middle;">
- <span id="menu_ahpd" onclick="addHPD()" class="menu_icon">
- <i class="material-icons em1-5">add_circle</i>
+ <br>
+ <label for="textcolor">Text Color:</label>
+ <select id="textcolor" name="textcolor">
+ <option value="0">Default</option>
+ <option value="1">Green</option>
+ <option value="2">Red</option>
+ <option value="3">Orange</option>
+ <option value="4">Blue</option>
+ <option value="5">Yellow</option>
+ <option value="6">Margenta</option>
+ </select>
+ <label for="sendsfx">SFX</label>
+ <input type="checkbox" id="sendsfx" name="sendsfx" value="sendsfx">
+ <br>
+ <br>
+ <img src="misc/flip.png" id="button_flip" alt="Flip" class="client_button" onclick="toggleFlip()">
+ <img src="misc/flash.png" id="button_effect_1" alt="Flash" class="client_button" onclick="toggleEffect(1)">
+ <img src="misc/shake.png" id="button_effect_2" alt="Shake" class="client_button" onclick="toggleEffect(2)">
+ </div>
+ <fieldset style="margin:10px;">
+ <legend>Actions</legend>
+ <!-- Judge Commands -->
+ <span id="judge_action" style="display:none">
+ <span id="menu_wt" onclick="initWT()" class="menu_icon">
+ <i class="material-icons em-3">record_voice_over</i>
+ <div>Witness
+ <br>Testimony</div>
</span>
- <span style="font-size: 1.25em">Defense</span>
- <span id="menu_rhpd" onclick="redHPD()" class="menu_icon">
- <i class="material-icons em1-5">remove_circle</i>
+ <span id="menu_ce" onclick="initCE()" class="menu_icon">
+ <i class="material-icons em-3">question_answer</i>
+ <div>Cross
+ <br>Examination</div>
</span>
- </span>
- <span style="display:inline-block; vertical-align: middle;">
- <span id="menu_ahpp" onclick="addHPP()" class="menu_icon">
- <i class="material-icons em-1-5">add_circle</i>
+ <br>
+ <span style="display:inline-block; vertical-align: middle;">
+ <span id="menu_ahpd" onclick="addHPD()" class="menu_icon">
+ <i class="material-icons em1-5">add_circle</i>
+ </span>
+ <span style="font-size: 1.25em">Defense</span>
+ <span id="menu_rhpd" onclick="redHPD()" class="menu_icon">
+ <i class="material-icons em1-5">remove_circle</i>
+ </span>
</span>
- <span style="font-size: 1.25em">Prosecution</span>
- <span id="menu_rhpp" onclick="redHPP()" class="menu_icon">
- <i class="material-icons em-1-5">remove_circle</i>
+ <span style="display:inline-block; vertical-align: middle;">
+ <span id="menu_ahpp" onclick="addHPP()" class="menu_icon">
+ <i class="material-icons em-1-5">add_circle</i>
+ </span>
+ <span style="font-size: 1.25em">Prosecution</span>
+ <span id="menu_rhpp" onclick="redHPP()" class="menu_icon">
+ <i class="material-icons em-1-5">remove_circle</i>
+ </span>
</span>
</span>
- </span>
- <!-- No Commands -->
- <span id="no_action">
- No actions available for this role.
- </span>
- </fieldset>
+ <!-- No Commands -->
+ <span id="no_action">
+ No actions available for this role.
+ </span>
+ </fieldset>
</div>
</template>
@@ -146,134 +149,148 @@
<div class="hrtext">
<span id="content_name">Content</span>
</div>
- <!-- Areas section -->
- <span class="menu_content active" id="content_1">
- <meta name="frame-title" lang="en" content="Areas">
- <div id="areas"></div>
- <br>
- <fieldset style="text-align: left">
- <legend>Current Area Background</legend>
- <span>
- <img id="bg_preview" src="misc/placeholder.gif" alt="Background Preview" onerror="imgError(this);">
- </span>
- <span style="display:inline-block">
- <label for="bg_filename">Background:</label>
- <br>
- <select id="bg_select" name="bg_select" onchange="updateBackgroundPreview()" style="margin-top:10px"></select>
- <br>
- <input id="bg_filename" name="bg_filename" class="short" type="text" style="margin-top:10px">
- <br>
- <br>
- <img src="misc/location_change.png" id="bg_change" alt="Change" class="client_button hover_button" onclick="changeBackgroundOOC()">
- </span>
- </fieldset>
- </span>
+ <!-- Areas section -->
+ <span class="menu_content active" id="content_1">
+ <meta name="frame-title" lang="en" content="Areas">
+ <div id="areas"></div>
+ <br>
+ <fieldset style="text-align: left">
+ <legend>Current Area Background</legend>
+ <span>
+ <img id="bg_preview" src="misc/placeholder.gif" alt="Background Preview" onerror="imgError(this);">
+ </span>
+ <span style="display:inline-block">
+ <label for="bg_filename">Background:</label>
+ <br>
+ <select id="bg_select" name="bg_select" onchange="updateBackgroundPreview()"
+ style="margin-top:10px"></select>
+ <br>
+ <input id="bg_filename" name="bg_filename" class="short" type="text" style="margin-top:10px">
+ <br>
+ <br>
+ <img src="misc/location_change.png" id="bg_change" alt="Change" class="client_button hover_button"
+ onclick="changeBackgroundOOC()">
+ </span>
+ </fieldset>
+ </span>
- <!-- Evidence section -->
- <span class="menu_content" id="content_2">
- <meta name="frame-title" lang="en" content="Evidence">
- <fieldset style="text-align: left; display: flex; flex-direction: column;">
- <legend>Information</legend>
- <div style="display: flex;">
- <img id="evi_icon" src="misc/evidence_selector.png" alt="Evidence Icon" onerror="imgError(this);">
- <div id="evi_options">
- <label for="evi_filename">Icon:</label>
- <select id="evi_select" name="evi_select" onchange="updateEvidenceIcon()"></select>
- <input id="evi_filename" name="evi_filename" class="short" type="text" placeholder="Custom filename">
- <br>
- <label for="evi_name">Name:</label>
- <input id="evi_name" name="evi_name" class="short" type="text" placeholder="Evidence name">
- </div>
- </div>
- <div style="display: flex; padding-top: 5px;">
- <textarea id="evi_desc" name="evi_desc" rows="2" cols="20" placeholder="Evidence description"></textarea>
- </div>
- <div style="display: block; text-align: center; padding-top: 20px;">
- <img src="misc/evidence_add.png" id="evi_add" alt="Add Evidence" class="client_button hover_button" onclick="addEvidence()">
- <img src="misc/evidence_edit.png" id="evi_edit" alt="Edit Evidence" class="client_button hover_button inactive" onclick="editEvidence()">
- <img src="misc/evidence_cancel.png" id="evi_cancel" alt="Cancel Evidence" class="client_button hover_button inactive" onclick="cancelEvidence()">
- <img src="misc/evidence_remove.png" id="evi_del" alt="Remove Evidence" class="client_button hover_button inactive" onclick="deleteEvidence()">
+ <!-- Evidence section -->
+ <span class="menu_content" id="content_2">
+ <meta name="frame-title" lang="en" content="Evidence">
+ <fieldset style="text-align: left; display: flex; flex-direction: column;">
+ <legend>Information</legend>
+ <div style="display: flex;">
+ <img id="evi_icon" src="misc/evidence_selector.png" alt="Evidence Icon" onerror="imgError(this);">
+ <div id="evi_options">
+ <label for="evi_filename">Icon:</label>
+ <select id="evi_select" name="evi_select" onchange="updateEvidenceIcon()"></select>
+ <input id="evi_filename" name="evi_filename" class="short" type="text"
+ placeholder="Custom filename">
+ <br>
+ <label for="evi_name">Name:</label>
+ <input id="evi_name" name="evi_name" class="short" type="text" placeholder="Evidence name">
</div>
- </fieldset>
- <br>
- <div id="evidences"></div>
- <br>
- <img src="misc/present.png" id="button_present" alt="Present" class="client_button" onclick="togglePresent()">
- </span>
-
- <!-- Settings section -->
- <span class="menu_content" id="content_3">
- <meta name="frame-title" lang="en" content="Settings">
- <label for="OOC_name">Server chat name:</label>
- <input id="OOC_name" name="OOC_name" class="short" type="text">
- <label for="role_select">Role:</label>
- <select id="role_select" name="role_select" onchange="changeRoleOOC()">
- <option value="def">Defense</option>
- <option value="pro">Prosecution</option>
- <option value="jud">Judge</option>
- <option value="wit">Witness</option>
- <option value="hld">Helper Defense</option>
- <option value="hlp">Helper Prosecution</option>
- </select>
- <br>
- <br>
- <div class="slider">Music
- <input id="client_mvolume" class="long" type="range" min="0" max="100" value="80" onchange="changeMusicVolume()">
</div>
- <div class="slider">SFX
- <input id="client_svolume" class="long" type="range" min="0" max="100" value="70" onchange="changeSFXVolume()">
+ <div style="display: flex; padding-top: 5px;">
+ <textarea id="evi_desc" name="evi_desc" rows="2" cols="20"
+ placeholder="Evidence description"></textarea>
</div>
- <div class="slider">Blip
- <input id="client_bvolume" class="long" type="range" min="0" max="100" value="60" onchange="changeBlipVolume()">
+ <div style="display: block; text-align: center; padding-top: 20px;">
+ <img src="misc/evidence_add.png" id="evi_add" alt="Add Evidence" class="client_button hover_button"
+ onclick="addEvidence()">
+ <img src="misc/evidence_edit.png" id="evi_edit" alt="Edit Evidence"
+ class="client_button hover_button inactive" onclick="editEvidence()">
+ <img src="misc/evidence_cancel.png" id="evi_cancel" alt="Cancel Evidence"
+ class="client_button hover_button inactive" onclick="cancelEvidence()">
+ <img src="misc/evidence_remove.png" id="evi_del" alt="Remove Evidence"
+ class="client_button hover_button inactive" onclick="deleteEvidence()">
</div>
- <br>
- <img src="misc/character_change.png" id="char_change" alt="Change" class="client_button hover_button" onclick="changeCharacter()">
- <img src="misc/character_random.png" id="char_random" alt="Random" class="client_button hover_button" onclick="randomCharacterOOC()">
- <br>
- <br>
- <label for="client_encoding"> Client side chat encoding:</label>
- <select id="client_encoding" name="client_encoding">
- <option value="none" selected>None</option>
- <option value="unicode">Unicode</option>
- <option value="utf16">UTF-16</option>
- </select>
- <br>
- <br>
- <label for="client_decoding"> Client side chat decoding:</label>
- <select id="client_decoding" name="client_decoding">
- <option value="none">None</option>
- <option value="unicode" selected>Unicode</option>
- <option value="utf16">UTF-16</option>
- </select>
- <br>
- <br>
- <span style="color:red">Only touch these settings if you know what you are doing.</span>
- <br>
- <br>
- <label for="bg_command">Change background command:</label>
- <input id="bg_command" name="bg_command" class="short" type="text" value="bg $1">
- <br>
- <br>
- <label for="role_command">Change role command:</label>
- <input id="role_command" name="role_command" class="short" type="text" value="pos $1">
- <br>
- <br>
- <label for="randomchar_command">Random character command:</label>
- <input id="randomchar_command" name="randomchar_command" class="short" type="text" value="randomchar">
- </span>
+ </fieldset>
+ <br>
+ <div id="evidences"></div>
+ <br>
+ <img src="misc/present.png" id="button_present" alt="Present" class="client_button"
+ onclick="togglePresent()">
+ </span>
- <!-- About section -->
- <span class="menu_content" id="content_4">
- <meta name="frame-title" lang="en" content="About">
- <img id="about-logo" src="images/logo-new.png" alt="Attorney Online logo">
- <h1 style="line-height: .3em;">webAO</h1>
- <h3>version 2.3</h3>
- <p>Client created by
- <a href="https://github.com/stonedDiscord">@stonedDiscord</a> and fixed up by
- <a href="https://github.com/oldmud0">@oldmud0</a> and
- <a href="https://github.com/qubrick">Qubrick</a>.</p>
- <p>Special thanks to Aleks for reverse engineering the original Delphi client written by FanatSors.</p>
- </span>
+ <!-- Settings section -->
+ <span class="menu_content" id="content_3">
+ <meta name="frame-title" lang="en" content="Settings">
+ <label for="OOC_name">Server chat name:</label>
+ <input id="OOC_name" name="OOC_name" class="short" type="text">
+ <label for="role_select">Role:</label>
+ <select id="role_select" name="role_select" onchange="changeRoleOOC()">
+ <option value="def">Defense</option>
+ <option value="pro">Prosecution</option>
+ <option value="jud">Judge</option>
+ <option value="wit">Witness</option>
+ <option value="hld">Helper Defense</option>
+ <option value="hlp">Helper Prosecution</option>
+ </select>
+ <br>
+ <br>
+ <div class="slider">Music
+ <input id="client_mvolume" class="long" type="range" min="0" max="100" value="80"
+ onchange="changeMusicVolume()">
+ </div>
+ <div class="slider">SFX
+ <input id="client_svolume" class="long" type="range" min="0" max="100" value="70"
+ onchange="changeSFXVolume()">
+ </div>
+ <div class="slider">Blip
+ <input id="client_bvolume" class="long" type="range" min="0" max="100" value="60"
+ onchange="changeBlipVolume()">
+ </div>
+ <br>
+ <img src="misc/character_change.png" id="char_change" alt="Change" class="client_button hover_button"
+ onclick="changeCharacter()">
+ <img src="misc/character_random.png" id="char_random" alt="Random" class="client_button hover_button"
+ onclick="randomCharacterOOC()">
+ <br>
+ <br>
+ <label for="client_encoding"> Client side chat encoding:</label>
+ <select id="client_encoding" name="client_encoding">
+ <option value="none" selected>None</option>
+ <option value="unicode">Unicode</option>
+ <option value="utf16">UTF-16</option>
+ </select>
+ <br>
+ <br>
+ <label for="client_decoding"> Client side chat decoding:</label>
+ <select id="client_decoding" name="client_decoding">
+ <option value="none">None</option>
+ <option value="unicode" selected>Unicode</option>
+ <option value="utf16">UTF-16</option>
+ </select>
+ <br>
+ <br>
+ <span style="color:red">Only touch these settings if you know what you are doing.</span>
+ <br>
+ <br>
+ <label for="bg_command">Change background command:</label>
+ <input id="bg_command" name="bg_command" class="short" type="text" value="bg $1">
+ <br>
+ <br>
+ <label for="role_command">Change role command:</label>
+ <input id="role_command" name="role_command" class="short" type="text" value="pos $1">
+ <br>
+ <br>
+ <label for="randomchar_command">Random character command:</label>
+ <input id="randomchar_command" name="randomchar_command" class="short" type="text" value="randomchar">
+ </span>
+
+ <!-- About section -->
+ <span class="menu_content" id="content_4">
+ <meta name="frame-title" lang="en" content="About">
+ <img id="about-logo" src="images/logo-new.png" alt="Attorney Online logo">
+ <h1 style="line-height: .3em;">webAO</h1>
+ <h3>version 2.3</h3>
+ <p>Client created by
+ <a href="https://github.com/stonedDiscord">@stonedDiscord</a> and fixed up by
+ <a href="https://github.com/oldmud0">@oldmud0</a> and
+ <a href="https://github.com/qubrick">Qubrick</a>.</p>
+ <p>Special thanks to Aleks for reverse engineering the original Delphi client written by FanatSors.</p>
+ </span>
</div>
</template>
@@ -327,4 +344,4 @@
</div>
</body>
-</html>
+</html> \ No newline at end of file
diff --git a/webAO/master.html b/webAO/master.html
index b65c554..c291b66 100644
--- a/webAO/master.html
+++ b/webAO/master.html
@@ -1,42 +1,49 @@
<html>
- <head>
- <title>Attorney Online ONLINE</title>
- <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
- <link rel="icon" href="images/favicon.ico"/>
- <script src="master.b.js"></script>
- </head>
+
+<head>
+ <title>Attorney Online ONLINE</title>
+ <link rel="stylesheet" type="text/css" href="stylesheet.css" />
+ <link rel="icon" href="images/favicon.ico" />
+ <script src="master.b.js"></script>
+</head>
+
<body>
<div id="logo">
- <p>Mundi optimum</p>
- <img src="images/logo.png"\>
- <p>principium drama</p>
-</div>
-<div id="header">
-<p id="serverinfo">Masterserver version - ...</p>
-<p id="clientinfo">Client version - ...</p>
-<a class="button" href="https://discord.gg/e8pTAFv" class="button" id="hotlinebtn">
- Contact Hotline AO
-</a>
-</div>
+ <p>Mundi optimum</p>
+ <img src="images/logo.png" \>
+ <p>principium drama</p>
+ </div>
+ <div id="header">
+ <p id="serverinfo">Masterserver version - ...</p>
+ <p id="clientinfo">Client version - ...</p>
+ <a class="button" href="https://discord.gg/e8pTAFv" class="button" id="hotlinebtn">
+ Contact Hotline AO
+ </a>
+ </div>
-<div id="menu">
- <a class="button" href="https://tiny.cc/getao" target="_blank">
- Download
- </a>
- <a class="button" href="master.html">
- Play Online
- </a>
-</div>
- <div id="content">
- <center>
- <p>This page uses cookies. By clicking on a server you agree that a cookie is saved on your computer.</p><br>
+ <div id="menu">
+ <a class="button" href="https://tiny.cc/getao" target="_blank">
+ Download
+ </a>
+ <a class="button" href="master.html">
+ Play Online
+ </a>
+ </div>
+ <div id="content">
+ <center>
+ <p>This page uses cookies. By clicking on a server you agree that a cookie is saved on your computer.</p>
+ <br>
<p style="color:#ff0000;">The downloadable client is recommended</p><br>
<p>The green servers are more likely to work, red ones will not</p>
- </center>
- <ul class="servs" id="masterlist">
- <li onmouseover="setServ(99)"><p>Localhost</p> <a class="button" href="client.html?ip=127.0.0.1:27016">Watch</a><a class="button" href="client.html?ip=127.0.0.1:27016&mode=join">Join</a></li>
+ </center>
+ <ul class="servs" id="masterlist">
+ <li onmouseover="setServ(99)">
+ <p>Localhost</p> <a class="button" href="client.html?ip=127.0.0.1:27016">Watch</a><a class="button"
+ href="client.html?ip=127.0.0.1:27016&mode=join">Join</a>
+ </li>
+
+ </ul>
+ </div>
+</body>
- </ul>
- </div>
- </body>
-</html>
+</html> \ No newline at end of file