mirror of
https://gitea.tendokyu.moe/eamuse/docs.git
synced 2024-11-27 16:10:51 +01:00
Allnet
This commit is contained in:
parent
e24490ec7e
commit
ccc70a3df1
3
requirements.txt
Normal file
3
requirements.txt
Normal file
@ -0,0 +1,3 @@
|
||||
flask
|
||||
Frozen-Flask
|
||||
jinja_markdown
|
@ -2,7 +2,6 @@
|
||||
{% block title %}Card IDs{% endblock %}
|
||||
{% block body %}
|
||||
<h1>Card ID generation</h1>
|
||||
test2
|
||||
<details>
|
||||
<summary>I'm just here for code.</summary>
|
||||
<p>Fair. My intent with these pages is to describe things in enough detail that they should be simple to
|
||||
|
@ -1,197 +1,3 @@
|
||||
{% extends "sega.html" %}
|
||||
{% block title %}ALL.Net{% endblock %}
|
||||
{% block body %}
|
||||
<h1>ALL.Net</h1>
|
||||
<p>A simple service that exposes two URLs. The hostname must be <code>http://naominet.jp</code>.</p>
|
||||
|
||||
<p>Requests should be made with a number of standard HTTP headers, and must be either HTTP version 1.0 or 1.1</p>
|
||||
<table>
|
||||
<tr>
|
||||
<td><code>Connection</code></td>
|
||||
<td><code>Close</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Pragma</code></td>
|
||||
<td><code>DFI</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>User-Agent</code></td>
|
||||
<td><code>ALL.Net_PC_Win2/ver1.0</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Content-Type</code></td>
|
||||
<td><code>application/x-www-form-urlencoded</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Content-Length</code></td>
|
||||
<td><i>variable</i></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>Note that the <code>Pragma</code> header is optional, and the <code>Content-Type</code> header is a lie.</p>
|
||||
|
||||
<p>Requests and responses should be <code>POST</code>s, and their body should be base64 encoded, zlib compressed,
|
||||
<code>x-www-form-urlencoded</code> data. For example, <code>{key: "value", other: "another"}</code> should encode to
|
||||
<code>eJwdxcEJACAMA8Bt3CLD5BEQFIXSFtw+4OuWHpq7NG5OBXi+BmwzCRo=</code>.
|
||||
</p>
|
||||
|
||||
<p>Responses are expected to contain <code>stat</code> indicating status:</p>
|
||||
<table>
|
||||
<tr>
|
||||
<td><code>1</code></td>
|
||||
<td>Success</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>0</code></td>
|
||||
<td>Failure</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-1</code></td>
|
||||
<td>Failure</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-2</code></td>
|
||||
<td>Failure</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-3</code></td>
|
||||
<td>Failure</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>This service provides two endpoints, documented below:</p>
|
||||
|
||||
<h3><code>/sys/servlet/PowerOn</code></h3>
|
||||
<h4>Request:</h4>
|
||||
<!--
|
||||
"game_id=%s&ver=%s&serial=%s&ip=%s&firm_ver=%01d%02d%02d&boot_ver=%02X%02X&encode=%s&format_ver=%s&hops=%d\r\n"
|
||||
"game_id=%s&ver=%s&serial=%s&ip=%s&firm_ver=%01d%02d%02d&boot_ver=%02X%02X&format_ver=%s&hops=%d\r\n"
|
||||
"game_id=%s&ver=%s&serial=%s\r\n"
|
||||
"game_id=%s&ver=%s&serial=%s&encode=%s\r\n"
|
||||
|
||||
|
||||
"keychipid=%s&functype=%u&gameid=%s&gamever=%s&boardid=%s&tenpoip=%s&libalibver=%s&datamax=%s&billingtype=%d&protocolver=%s&operatingfix=%d"
|
||||
(libalibver = 1.110, protocolver = 1.000)
|
||||
|
||||
SDBT: Chunithm
|
||||
SBXL: Maimai -->
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><code>game_id</code></td>
|
||||
<td>4-character game ID</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ver</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>serial</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ip</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>firm_ver</code></td>
|
||||
<td><code>%01d%02d%02d</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>boot_ver</code></td>
|
||||
<td><code>%02X%02X</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>format_ver</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>hops</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>encode</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
<h4>Response:</h4>
|
||||
<table>
|
||||
<tr>
|
||||
<td><code>stat</code></td>
|
||||
<td>See above</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>uri</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>host</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>region0</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>region_name0</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>region_name1</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>region_name2</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>region_name3</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>year</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>month</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>day</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>hour</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>minute</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>second</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>place_id</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>setting</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>country</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>timezone</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>res_class</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3><code>/sys/servlet/DownloadOrder</code></h3>
|
||||
|
||||
{% extends "sega.html" %} {% block title %}ALL.Net{% endblock %} {% block body %}
|
||||
{% markdown %}{% include relative("~allnet.md") %}{% endmarkdown %}
|
||||
{% endblock %}
|
197
templates/pages/sega/network/allnet.html.old
Normal file
197
templates/pages/sega/network/allnet.html.old
Normal file
@ -0,0 +1,197 @@
|
||||
{% extends "sega.html" %}
|
||||
{% block title %}ALL.Net{% endblock %}
|
||||
{% block body %}
|
||||
<h1>ALL.Net</h1>
|
||||
<p>A simple service that exposes two URLs. The hostname must be <code>http://naominet.jp</code>.</p>
|
||||
|
||||
<p>Requests should be made with a number of standard HTTP headers, and must be either HTTP version 1.0 or 1.1</p>
|
||||
<table>
|
||||
<tr>
|
||||
<td><code>Connection</code></td>
|
||||
<td><code>Close</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Pragma</code></td>
|
||||
<td><code>DFI</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>User-Agent</code></td>
|
||||
<td><code>ALL.Net_PC_Win2/ver1.0</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Content-Type</code></td>
|
||||
<td><code>application/x-www-form-urlencoded</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Content-Length</code></td>
|
||||
<td><i>variable</i></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>Note that the <code>Pragma</code> header is optional, and the <code>Content-Type</code> header is a lie.</p>
|
||||
|
||||
<p>Requests and responses should be <code>POST</code>s, and their body should be base64 encoded, zlib compressed,
|
||||
<code>x-www-form-urlencoded</code> data. For example, <code>{key: "value", other: "another"}</code> should encode to
|
||||
<code>eJwdxcEJACAMA8Bt3CLD5BEQFIXSFtw+4OuWHpq7NG5OBXi+BmwzCRo=</code>.
|
||||
</p>
|
||||
|
||||
<p>Responses are expected to contain <code>stat</code> indicating status:</p>
|
||||
<table>
|
||||
<tr>
|
||||
<td><code>1</code></td>
|
||||
<td>Success</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>0</code></td>
|
||||
<td>Failure</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-1</code></td>
|
||||
<td>Failure</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-2</code></td>
|
||||
<td>Failure</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-3</code></td>
|
||||
<td>Failure</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>This service provides two endpoints, documented below:</p>
|
||||
|
||||
<h3><code>/sys/servlet/PowerOn</code></h3>
|
||||
<h4>Request:</h4>
|
||||
<!--
|
||||
"game_id=%s&ver=%s&serial=%s&ip=%s&firm_ver=%01d%02d%02d&boot_ver=%02X%02X&encode=%s&format_ver=%s&hops=%d\r\n"
|
||||
"game_id=%s&ver=%s&serial=%s&ip=%s&firm_ver=%01d%02d%02d&boot_ver=%02X%02X&format_ver=%s&hops=%d\r\n"
|
||||
"game_id=%s&ver=%s&serial=%s\r\n"
|
||||
"game_id=%s&ver=%s&serial=%s&encode=%s\r\n"
|
||||
|
||||
|
||||
"keychipid=%s&functype=%u&gameid=%s&gamever=%s&boardid=%s&tenpoip=%s&libalibver=%s&datamax=%s&billingtype=%d&protocolver=%s&operatingfix=%d"
|
||||
(libalibver = 1.110, protocolver = 1.000)
|
||||
|
||||
SDBT: Chunithm
|
||||
SBXL: Maimai -->
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><code>game_id</code></td>
|
||||
<td>4-character game ID</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ver</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>serial</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ip</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>firm_ver</code></td>
|
||||
<td><code>%01d%02d%02d</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>boot_ver</code></td>
|
||||
<td><code>%02X%02X</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>format_ver</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>hops</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>encode</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
<h4>Response:</h4>
|
||||
<table>
|
||||
<tr>
|
||||
<td><code>stat</code></td>
|
||||
<td>See above</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>uri</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>host</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>region0</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>region_name0</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>region_name1</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>region_name2</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>region_name3</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>year</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>month</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>day</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>hour</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>minute</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>second</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>place_id</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>setting</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>country</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>timezone</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>res_class</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3><code>/sys/servlet/DownloadOrder</code></h3>
|
||||
|
||||
{% endblock %}
|
95
templates/pages/sega/network/~allnet.md
Normal file
95
templates/pages/sega/network/~allnet.md
Normal file
@ -0,0 +1,95 @@
|
||||
# ALL.Net
|
||||
|
||||
ALL.Net, short for Amusement Linkage Live Network, is SEGA's standadised arcade game networking service. It handles cabinet authentication, billing, network-based game delivery, user management, and handoff to the game-specific title server where applicable.
|
||||
|
||||
The ALL.Net model is compresed of four networked services:
|
||||
|
||||
1. ALL.Net itself. This is `naominet.jp`, and handles basic operations.
|
||||
2. The billing service. This is `ib.naominet.jp`, and handles tracking and updating play counters.
|
||||
3. AiMeDB. This is `aime.naominet.jp`, and handles user management.
|
||||
4. The title server. The URL for this is provided by ALL.Net, as different games use different services for this.
|
||||
|
||||
ALL.Net also handles core networking infrastructure. This is in the form of of a number of routers, some of which are VPN-connected.
|
||||
|
||||
Stores are provided a store (tenpo, 店舗) router which they install. The specific router provided to the store depends on the nature of their internet connection. The models typically provisioned are:
|
||||
|
||||
| Line type | Model |
|
||||
| --------- | -------------- |
|
||||
| ISDN | YAMAHA RTA52i |
|
||||
| | YAMAHA RTA54i |
|
||||
| | YAMAHA RT57i |
|
||||
| | YAMAHA RT58i |
|
||||
| ^ | YAMAHA NVR500 |
|
||||
| Mobile | R240B |
|
||||
| ^ | YAMAHA RTX1200 |
|
||||
| Broadband | YAMAHA RTX1000 |
|
||||
| | YAMAHA RTX1100 |
|
||||
| ^ | YAMAHA RTX1200 |
|
||||
| ADSL | YAMAHA RTX1000 |
|
||||
| | YAMAHA RTX1100 |
|
||||
| ^ | YAMAHA RTX1200 |
|
||||
| Misc | Cisco 851 K9 |
|
||||
| ^ | Cisco 861 K9 |
|
||||
|
||||
This router will take the IP address `x.y.z.254`, which will be available at `tenporouter.loc` (handled by DNS spoofing on the router). Machines are assigned their IP addresses using DHCP, taking addresses from `x.y.z.10` through `x.y.z.200`, inclusive. Additionally, the router will be addressable at one additional hostname, dependenant on the line type:
|
||||
|
||||
| Line Type | Addtional Hostname |
|
||||
| --------- | ------------------ |
|
||||
| Mobile | `mobirouter.loc` |
|
||||
| Broadband | `bbrouter.loc` |
|
||||
| ADSL | `dslrouter.loc` |
|
||||
|
||||
There are also a number of additional utility hostnames, spoilered due to their quantity.
|
||||
|
||||
<details>
|
||||
<summary>Additional hostnames</summary>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><td>Hostname</td><td>IP Address</td></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td><code>medalcom.loc</code></td><td><code>x.y.z.5</code></td></tr>
|
||||
<tr><td><code>allnet201.loc</code></td><td><code>x.y.z.201</code></td></tr>
|
||||
<tr><td><code>allnet202.loc</code></td><td><code>x.y.z.202</code></td></tr>
|
||||
<tr><td><code>allnet203.loc</code></td><td><code>x.y.z.203</code></td></tr>
|
||||
<tr><td><code>allnet204.loc</code></td><td><code>x.y.z.204</code></td></tr>
|
||||
<tr><td><code>allnet205.loc</code></td><td><code>x.y.z.205</code></td></tr>
|
||||
<tr><td><code>allnet206.loc</code></td><td><code>x.y.z.206</code></td></tr>
|
||||
<tr><td><code>allnet207.loc</code></td><td><code>x.y.z.207</code></td></tr>
|
||||
<tr><td><code>allnet208.loc</code></td><td><code>x.y.z.208</code></td></tr>
|
||||
<tr><td><code>allnet209.loc</code></td><td><code>x.y.z.209</code></td></tr>
|
||||
<tr><td><code>allnet210.loc</code></td><td><code>x.y.z.210</code></td></tr>
|
||||
<tr><td><code>allnet211.loc</code></td><td><code>x.y.z.211</code></td></tr>
|
||||
<tr><td><code>allnet212.loc</code></td><td><code>x.y.z.212</code></td></tr>
|
||||
<tr><td><code>allnet213.loc</code></td><td><code>x.y.z.213</code></td></tr>
|
||||
<tr><td><code>allnet214.loc</code></td><td><code>x.y.z.214</code></td></tr>
|
||||
<tr><td><code>allnet215.loc</code></td><td><code>x.y.z.215</code></td></tr>
|
||||
<tr><td><code>allnet216.loc</code></td><td><code>x.y.z.216</code></td></tr>
|
||||
<tr><td><code>allnet217.loc</code></td><td><code>x.y.z.217</code></td></tr>
|
||||
<tr><td><code>allnet218.loc</code></td><td><code>x.y.z.218</code></td></tr>
|
||||
<tr><td><code>allnet219.loc</code></td><td><code>x.y.z.219</code></td></tr>
|
||||
<tr><td><code>allnet220.loc</code></td><td><code>x.y.z.220</code></td></tr>
|
||||
<tr><td><code>allnet221.loc</code></td><td><code>x.y.z.221</code></td></tr>
|
||||
<tr><td><code>allnet222.loc</code></td><td><code>x.y.z.222</code></td></tr>
|
||||
<tr><td><code>allnet223.loc</code></td><td><code>x.y.z.223</code></td></tr>
|
||||
<tr><td><code>allnet224.loc</code></td><td><code>x.y.z.224</code></td></tr>
|
||||
<tr><td><code>allnet225.loc</code></td><td><code>x.y.z.225</code></td></tr>
|
||||
<tr><td><code>allnet226.loc</code></td><td><code>x.y.z.226</code></td></tr>
|
||||
<tr><td><code>allnet227.loc</code></td><td><code>x.y.z.227</code></td></tr>
|
||||
<tr><td><code>allnet228.loc</code></td><td><code>x.y.z.228</code></td></tr>
|
||||
<tr><td><code>allnet229.loc</code></td><td><code>x.y.z.229</code></td></tr>
|
||||
<tr><td><code>allnet230.loc</code></td><td><code>x.y.z.230</code></td></tr>
|
||||
<tr><td><code>allnet231.loc</code></td><td><code>x.y.z.231</code></td></tr>
|
||||
<tr><td><code>allnet232.loc</code></td><td><code>x.y.z.232</code></td></tr>
|
||||
<tr><td><code>allnet233.loc</code></td><td><code>x.y.z.233</code></td></tr>
|
||||
<tr><td><code>allnet234.loc</code></td><td><code>x.y.z.234</code></td></tr>
|
||||
<tr><td><code>allnet235.loc</code></td><td><code>x.y.z.235</code></td></tr>
|
||||
<tr><td><code>allnet236.loc</code></td><td><code>x.y.z.236</code></td></tr>
|
||||
<tr><td><code>allnet237.loc</code></td><td><code>x.y.z.237</code></td></tr>
|
||||
<tr><td><code>allnet238.loc</code></td><td><code>x.y.z.238</code></td></tr>
|
||||
<tr><td><code>allnet239.loc</code></td><td><code>x.y.z.239</code></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</details>
|
||||
|
||||
The provided router connects to ALL.Net services using an IPSEC tunnel connected to `vpn1jpn.sys-all.net` and `vpn2jpn.sys-all.net`. That's where the details on the SEGA VPN end for hopefully obvious reasons.
|
Loading…
Reference in New Issue
Block a user