docs/protocol.html

1392 lines
46 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Packet format | eAmuse API</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<table>
<tr>
<td><a href=".">Contents</a></td>
<td><a href="./transport.html">Transport layer</a></td>
<td><a href="./packet.html">Packet format</a></td>
<td><a href="./protocol.html">Application Protocol</a></td>
</tr>
</table>
<h1>Application Protocol</h1>
<p>As the previous pages have eluded to (you <i>did</i> read them, didn't you?), eAmuse uses HTTP as its main way of
getting data around. This means we need an HTTP server running but, as we'll see, we don't need to think too
hard about that.</p>
<p>Every request made is a <code>POST</code> request, to <code>//&lt;model&gt;/&lt;module&gt;/&lt;method&gt;</code>,
with its body being encoded data as described in the previous sections. In addition to the
<code>X-Compress:</code> and <code>X-Eamuse-Info:</code> headers previously detailed, there is also a
<code>X-PCB-ID:</code> header. that can be set. Your machine's PCB ID uniquely defines the physical board. This
header is added in out-bound requests, and allows the server to identify you. Importantly, it's also the value
that the server uses to identify which machines are authorized to be on the network, and which are not.
</p>
<p>Every request is followed immediately by a response. Any response code other than <code>200</code> is considered
a failure.</p>
<details>
<summary>Source code details</summary>
<figure>
<img src="images/200_only.png">
<figcaption><code>libavs-win32-ea3.dll:0x1000f8e7</code></figcaption>
</figure>
</details>
<p>All requests follow a basic format:</p>
<pre><code>&lt;call model="<i>model</i>" srcid="<i>srcid</i>" tag="<i>tag</i>"&gt;
&lt;<i>module</i> method="<i>method</i>" <i>...attributes</i>&gt;
<i>children</i>
&lt;/<i>module</i>&gt;
&lt;/call&gt;</code></pre>
<p>The responses follow a similar format:</p>
<pre><code>&lt;response&gt;
&lt;<i>module</i> status="<i>status</i>" <i>...attributes</i>&gt;
<i>children</i>
&lt;/<i>module</i>&gt;
&lt;/response&gt;</code></pre>
<p>With <code>"0"</code> being a successful status. Convention is to identify a specific method as
<code><i>module</i>.<i>method</i></code>, and we'll be following this convention in this document too. There are
a <i>lot</i> of possible methods, so the rest of this document is a big reference for them all. There are a
number of generic methods, and a number of game specific ones. If you haven't clocked yet, I've been working on
an SDVX 4 build for most of these pages, and each game also comes with its own set of game-specific methods.
These are namespaces under the <code>game.%s</code> module and, in the case of SDVX 4, are all
<code>game.sv4_<i>method</i></code>. I may or may not document the SDVX 4 specific methods, but I've listed them
here anyway for completeness.
</p>
<ul>
<li><code><a href="#eventlog">eventlog.%s</a></code></li>
<ul>
<li><code><a href="#eventlog.write">eventlog.write</a></code></li>
</ul>
<li><code><a href="#playerdata">playerdata.%s</a></code></li>
<ul>
<li><code><a href="#playerdata.usergamedata_send">playerdata.usergamedata_send</a></code></li>
<li><code><a href="#playerdata.usergamedata_recv">playerdata.usergamedata_recv</a></code></li>
<li><code><a href="#playerdata.usergamedata_inheritance">playerdata.usergamedata_inheritance</a></code></li>
<li><code><a href="#playerdata.usergamedata_condrecv">playerdata.usergamedata_condrecv</a></code></li>
<li><code><a href="#playerdata.usergamedata_scorerank">playerdata.usergamedata_scorerank</a></code></li>
</ul>
<li><code><a href="#matching">matching.%s</a></code></li>
<ul>
<li><code><a href="#matching.request">matching.request</a></code></li>
<li><code><a href="#matching.wait">matching.wait</a></code></li>
<li><code><a href="#matching.finish">matching.finish</a></code></li>
</ul>
<li><code><a href="#system">system.%s</a></code></li>
<ul>
<li><code><a href="#system.getmaster">system.getmaster</a></code></li>
<li><code><a href="#system.getlocationiplist">system.getlocationiplist</a></code></li>
<li><code><a href="#system.xrpcproxy">system.xrpcproxy</a></code></li>
<li><code><a href="#system.convcardnumber">system.convcardnumber</a></code></li>
</ul>
<li><code><a href="#esoc">esoc.%s</a></code></li>
<ul>
<li><code><a href="#esoc.read">esoc.read</a></code></li>
<li><code><a href="#esoc.write">esoc.write</a></code></li>
</ul>
<li><code><a href="#cardmng">cardmng.%s</a></code></li>
<ul>
<li><code><a href="#cardmng.inquire">cardmng.inquire</a></code></li>
<li><code><a href="#cardmng.getrefid">cardmng.getrefid</a></code></li>
<li><code><a href="#cardmng.bindmodel">cardmng.bindmodel</a></code></li>
<li><code><a href="#cardmng.bindcard">cardmng.bindcard</a></code></li>
<li><code><a href="#cardmng.authpass">cardmng.authpass</a></code></li>
<li><code><a href="#cardmng.getkeepspan">cardmng.getkeepspan</a></code></li>
<li><code><a href="#cardmng.getkeepremain">cardmng.getkeepremain</a></code></li>
<li><code><a href="#cardmng.getdatalist">cardmng.getdatalist</a></code></li>
</ul>
<li><code><a href="#esign">esign.%s</a></code></li>
<ul>
<li><code><a href="#esign.request">esign.request</a></code></li>
</ul>
<li><code><a href="#package">package.%s</a></code></li>
<ul>
<li><code><a href="#package.list">package.list</a></code></li>
<li><code><a href="#package.intend">package.intend</a></code></li>
</ul>
<li><code><a href="#userdata">userdata.%s</a></code></li>
<ul>
<li><code><a href="#userdata.read">userdata.read</a></code></li>
<li><code><a href="#userdata.write">userdata.write</a></code></li>
</ul>
<li><code><a href="#services">services.%s</a></code></li>
<ul>
<li><code><a href="#services.get">services.get</a></code></li>
</ul>
<li><code><a href="#pcbtracker">pcbtracker.%s</a></code></li>
<ul>
<li><code><a href="#pcbtracker.alive">pcbtracker.alive</a></code></li>
</ul>
<li><code><a href="#pcbevent">pcbevent.%s</a></code></li>
<ul>
<li><code><a href="#pcbevent.put">pcbevent.put</a></code></li>
</ul>
<li><code><a href="#message">message.%s</a></code></li>
<ul>
<li><code><a href="#message.get">message.get</a></code></li>
</ul>
<li><code><a href="#facility">facility.%s</a></code></li>
<ul>
<li><code><a href="#facility.get">facility.get</a></code></li>
</ul>
<li><code><a href="#apsmanager">apsmanager.%s</a></code></li>
<ul>
<li><code><a href="#apsmanager.getstat">apsmanager.getstat</a></code></li>
</ul>
<li><code><a href="#sidmgr">sidmgr.%s</a></code></li>
<ul>
<li><code><a href="#sidmgr.create">sidmgr.create</a></code></li>
<li><code><a href="#sidmgr.open">sidmgr.open</a></code></li>
<li><code><a href="#sidmgr.touch">sidmgr.touch</a></code></li>
<li><code><a href="#sidmgr.branch">sidmgr.branch</a></code></li>
<li><code><a href="#sidmgr.close">sidmgr.close</a></code></li>
</ul>
<li><code><a href="#dlstatus">dlstatus.%s</a></code></li>
<ul>
<li><code><a href="#dlstatus.done">dlstatus.done</a></code></li>
<li><code><a href="#dlstatus.progress">dlstatus.progress</a></code></li>
</ul>
<li><code><a href="#eacoin">eacoin.%s</a></code></li>
<ul>
<li><code><a href="#eacoin.checkin">eacoin.checkin</a></code></li>
<li><code><a href="#eacoin.checkout">eacoin.checkout</a></code></li>
<li><code><a href="#eacoin.consume">eacoin.consume</a></code></li>
<li><code><a href="#eacoin.getbalance">eacoin.getbalance</a></code></li>
<li><code><a href="#eacoin.getecstatus">eacoin.getecstatus</a></code></li>
<li><code><a href="#eacoin.touch">eacoin.touch</a></code></li>
<li><code><a href="#eacoin.opchpass">eacoin.opchpass</a></code></li>
<li><code><a href="#eacoin.opchecking">eacoin.opchecking</a></code></li>
<li><code><a href="#eacoin.opcheckout">eacoin.opcheckout</a></code></li>
<li><code><a href="#eacoin.getlog">eacoin.getlog</a></code></li>
</ul>
<li><code><a href="#traceroute">traceroute.%s</a></code></li>
<ul>
<li><code><a href="#traceroute.send">traceroute.send</a></code></li>
</ul>
<li><code><a href="#game">game.%s</a></code></li>
<ul>
<li><code><a href="#game.sv4_sample">game.sv4_sample</a></code></li>
<li><code><a href="#game.sv4_new">game.sv4_new</a></code></li>
<li><code><a href="#game.sv4_load">game.sv4_load</a></code></li>
<li><code><a href="#game.sv4_load_m">game.sv4_load_m</a></code></li>
<li><code><a href="#game.sv4_save">game.sv4_save</a></code></li>
<li><code><a href="#game.sv4_save_m">game.sv4_save_m</a></code></li>
<li><code><a href="#game.sv4_common">game.sv4_common</a></code></li>
<li><code><a href="#game.sv4_shop">game.sv4_shop</a></code></li>
<li><code><a href="#game.sv4_hiscore">game.sv4_hiscore</a></code></li>
<li><code><a href="#game.sv4_buy">game.sv4_buy</a></code></li>
<li><code><a href="#game.sv4_exception">game.sv4_exception</a></code></li>
<li><code><a href="#game.sv4_entry_s">game.sv4_entry_s</a></code></li>
<li><code><a href="#game.sv4_entry_e">game.sv4_entry_e</a></code></li>
<li><code><a href="#game.sv4_frozen">game.sv4_frozen</a></code></li>
<li><code><a href="#game.sv4_lounce">game.sv4_lounce</a></code></li>
<li><code><a href="#game.sv4_save_e">game.sv4_save_e</a></code></li>
<li><code><a href="#game.sv4_save_pb">game.sv4_save_pb</a></code></li>
<li><code><a href="#game.sv4_save_c">game.sv4_save_c</a></code></li>
<li><code><a href="#game.sv4_play_s">game.sv4_play_s</a></code></li>
<li><code><a href="#game.sv4_play_e">game.sv4_play_e</a></code></li>
<li><code><a href="#game.sv4_serial">game.sv4_serial</a></code></li>
<li><code><a href="#game.sv4_save_fi">game.sv4_save_fi</a></code></li>
<li><code><a href="#game.sv4_print">game.sv4_print</a></code></li>
<li><code><a href="#game.sv4_print_h">game.sv4_print_h</a></code></li>
<li><code><a href="#game.sv4_load_r">game.sv4_load_r</a></code></li>
<li><code><a href="#game.sv4_save_campaign">game.sv4_save_campaign</a></code></li>
</ul>
</ul>
<h2 id="eventlog"><code>eventlog</code></h2>
<h3 id="eventlog.write"><code>eventlog.write</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;eventlog method="write"&gt;
&lt;retrycnt __type="u32" /&gt;
&lt;data&gt;
&lt;eventid __type="str" /&gt;
&lt;eventorder __type="s32" /&gt;
&lt;pcbtime __type="u64" /&gt;
&lt;gamesession __type="s64" /&gt;
&lt;strdata1 __type="str" /&gt;
&lt;strdata2 __type="str" /&gt;
&lt;numdata1 __type="s64" /&gt;
&lt;numdata2 __type="s64" /&gt;
&lt;locationid __type="str" /&gt;
&lt;/data&gt;
&lt;/eventlog&gt;
&lt;/call&gt;</code></pre>
<p>Event ID list:</p>
<ul>
<li><code>G_GAMED</code></li>
<li><code>S_ERROR</code></li>
<li><code>T_OTDEMO</code></li>
</ul>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;eventlog status="<i>status</i>"&gt;
&lt;gamesession __type="s64" /&gt;
&lt;logsendflg __type="s32" /&gt;
&lt;logerrlevel __type="s32" /&gt;
&lt;evtidnosendflg __type="s32" /&gt;
&lt;/eventlog&gt;
&lt;/response&gt;</code></pre>
<h2 id="playerdata"><code>playerdata</code></h2>
<h3 id="playerdata.usergamedata_send"><code>playerdata.usergamedata_send</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;playerdata method="usergamedata_send"&gt;
<i>placeholder</i>
&lt;/playerdata&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;playerdata status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/playerdata&gt;
&lt;/response&gt;</code></pre>
<h3 id="playerdata.usergamedata_recv"><code>playerdata.usergamedata_recv</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;playerdata method="usergamedata_recv"&gt;
&lt;data&gt;
&lt;refid __type="str"&gt;
&lt;dataid __type="str"&gt;
&lt;gamekind __type="str"&gt;
&lt;recv_num __type="u32"&gt;
&lt;/data&gt;
&lt;/playerdata&gt;
&lt;/call&gt;</code></pre>
<pre><code>&lt;call <i>...</i>&gt;
&lt;playerdata method="usergamedata_recv"&gt;
&lt;data&gt;
&lt;refid __type="str"&gt;
&lt;dataid __type="str"&gt;
&lt;gamekind __type="str"&gt;
&lt;recv_csv __type="str"&gt;
&lt;/data&gt;
&lt;/playerdata&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;playerdata status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/playerdata&gt;
&lt;/response&gt;</code></pre>
<h3 id="playerdata.usergamedata_inheritance"><code>playerdata.usergamedata_inheritance</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;playerdata method="usergamedata_inheritance"&gt;
<i>placeholder</i>
&lt;/playerdata&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;playerdata status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/playerdata&gt;
&lt;/response&gt;</code></pre>
<h3 id="playerdata.usergamedata_condrecv"><code>playerdata.usergamedata_condrecv</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;playerdata method="usergamedata_condrecv"&gt;
<i>placeholder</i>
&lt;/playerdata&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;playerdata status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/playerdata&gt;
&lt;/response&gt;</code></pre>
<h3 id="playerdata.usergamedata_scorerank"><code>playerdata.usergamedata_scorerank</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;playerdata method="usergamedata_scorerank"&gt;
<i>placeholder</i>
&lt;/playerdata&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;playerdata status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/playerdata&gt;
&lt;/response&gt;</code></pre>
<h2 id="matching"><code>matching</code></h2>
<h3 id="matching.request"><code>matching.request</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;matching method="request"&gt;
<i>placeholder</i>
&lt;/matching&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;matching status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/matching&gt;
&lt;/response&gt;</code></pre>
<h3 id="matching.wait"><code>matching.wait</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;matching method="wait"&gt;
<i>placeholder</i>
&lt;/matching&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;matching status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/matching&gt;
&lt;/response&gt;</code></pre>
<h3 id="matching.finish"><code>matching.finish</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;matching method="finish"&gt;
<i>placeholder</i>
&lt;/matching&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;matching status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/matching&gt;
&lt;/response&gt;</code></pre>
<h2 id="system"><code>system</code></h2>
<h3 id="system.getmaster"><code>system.getmaster</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;system method="getmaster"&gt;
<i>placeholder</i>
&lt;/system&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;system status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/system&gt;
&lt;/response&gt;</code></pre>
<h3 id="system.getlocationiplist"><code>system.getlocationiplist</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;system method="getlocationiplist"&gt;
<i>placeholder</i>
&lt;/system&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;system status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/system&gt;
&lt;/response&gt;</code></pre>
<h3 id="system.xrpcproxy"><code>system.xrpcproxy</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;system method="xrpcproxy"&gt;
<i>placeholder</i>
&lt;/system&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;system status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/system&gt;
&lt;/response&gt;</code></pre>
<h3 id="system.convcardnumber"><code>system.convcardnumber</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;system method="convcardnumber"&gt;
<i>placeholder</i>
&lt;/system&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;system status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/system&gt;
&lt;/response&gt;</code></pre>
<h2 id="esoc"><code>esoc</code></h2>
<h3 id="esoc.read"><code>esoc.read</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;esoc method="read"&gt;
<i>placeholder</i>
&lt;/esoc&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;esoc status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/esoc&gt;
&lt;/response&gt;</code></pre>
<h3 id="esoc.write"><code>esoc.write</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;esoc method="write"&gt;
<i>placeholder</i>
&lt;/esoc&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;esoc status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/esoc&gt;
&lt;/response&gt;</code></pre>
<h2 id="cardmng"><code>cardmng</code></h2>
<h3 id="cardmng.inquire"><code>cardmng.inquire</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;cardmng method="inquire" cardid="" cardtype="" update="" /&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;cardmng status="<i>status</i>" /&gt;
&lt;/response&gt;</code></pre>
<h3 id="cardmng.getrefid"><code>cardmng.getrefid</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;cardmng method="getrefid"&gt;
<i>placeholder</i>
&lt;/cardmng&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;cardmng status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/cardmng&gt;
&lt;/response&gt;</code></pre>
<h3 id="cardmng.bindmodel"><code>cardmng.bindmodel</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;cardmng method="bindmodel"&gt;
<i>placeholder</i>
&lt;/cardmng&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;cardmng status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/cardmng&gt;
&lt;/response&gt;</code></pre>
<h3 id="cardmng.bindcard"><code>cardmng.bindcard</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;cardmng method="bindcard"&gt;
<i>placeholder</i>
&lt;/cardmng&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;cardmng status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/cardmng&gt;
&lt;/response&gt;</code></pre>
<h3 id="cardmng.authpass"><code>cardmng.authpass</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;cardmng method="authpass"&gt;
<i>placeholder</i>
&lt;/cardmng&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;cardmng status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/cardmng&gt;
&lt;/response&gt;</code></pre>
<h3 id="cardmng.getkeepspan"><code>cardmng.getkeepspan</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;cardmng method="getkeepspan"&gt;
<i>placeholder</i>
&lt;/cardmng&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;cardmng status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/cardmng&gt;
&lt;/response&gt;</code></pre>
<h3 id="cardmng.getkeepremain"><code>cardmng.getkeepremain</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;cardmng method="getkeepremain"&gt;
<i>placeholder</i>
&lt;/cardmng&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;cardmng status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/cardmng&gt;
&lt;/response&gt;</code></pre>
<h3 id="cardmng.getdatalist"><code>cardmng.getdatalist</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;cardmng method="getdatalist"&gt;
<i>placeholder</i>
&lt;/cardmng&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;cardmng status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/cardmng&gt;
&lt;/response&gt;</code></pre>
<h2 id="esign"><code>esign</code></h2>
<h3 id="esign.request"><code>esign.request</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;esign method="request"&gt;
<i>placeholder</i>
&lt;/esign&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;esign status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/esign&gt;
&lt;/response&gt;</code></pre>
<h2 id="package"><code>package</code></h2>
<h3 id="package.list"><code>package.list</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;package method="list"&gt;
<i>placeholder</i>
&lt;/package&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;package status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/package&gt;
&lt;/response&gt;</code></pre>
<h3 id="package.intend"><code>package.intend</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;package method="intend"&gt;
<i>placeholder</i>
&lt;/package&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;package status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/package&gt;
&lt;/response&gt;</code></pre>
<h2 id="userdata"><code>userdata</code></h2>
<h3 id="userdata.read"><code>userdata.read</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;userdata method="read"&gt;
<i>placeholder</i>
&lt;/userdata&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;userdata status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/userdata&gt;
&lt;/response&gt;</code></pre>
<h3 id="userdata.write"><code>userdata.write</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;userdata method="write"&gt;
<i>placeholder</i>
&lt;/userdata&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;userdata status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/userdata&gt;
&lt;/response&gt;</code></pre>
<h2 id="services"><code>services</code></h2>
<h3 id="services.get"><code>services.get</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;services method="get"&gt;
&lt;info&gt;
&lt;AVS2 __type="str"&gt;<i>AVS2 version</i>&lt;/AVS2&gt;
&lt;/info&gt;
&lt;/services&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;services expire="" method="get" mode="" status="<i>status</i>"&gt;
&lt;item name="<i>service</i>" url="<i>url</i>" /&gt;
&lt;/services&gt;
&lt;/response&gt;</code></pre>
<p>Known services are:</p>
<ul>
<li><code>ntp</code></li>
<li><code>keepalive</code></li>
<li><code>cardmng</code></li>
<li><code>facility</code></li>
<li><code>message</code></li>
<li><code>numbering</code></li>
<li><code>package</code></li>
<li><code>pcbevent</code></li>
<li><code>pcbtracker</code></li>
<li><code>pkglist</code></li>
<li><code>posevent</code></li>
<li><code>userdata</code></li>
<li><code>userid</code></li>
<li><code>eacoin</code></li>
<li><code>local</code></li>
<li><code>local2</code></li>
<li><code>lobby</code></li>
<li><code>lobby2</code></li>
<li><code>dlstatus</code></li>
<li><code>netlog</code></li>
<li><code>sidmgr</code></li>
<li><code>globby</code></li>
</ul>
<p>Most of these will usually just return the URL to the eAmuse server (or your fake one ;D). <code>ntp</code> is a notable exception, unless you're planning on reimplementing NTP. <code>keepalive</code> will likely alsop be a custom URL with query parameters pre-baked.</p>
<h2 id="pcbtracker"><code>pcbtracker</code></h2>
<h3 id="pcbtracker.alive"><code>pcbtracker.alive</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;pcbtracker method="alive" accountid="<i>pcbid</i>" ecflag="<i>ecflag</i>" hardid="<i>hardware ID</i>" softid="<i>software ID</i>" /&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;pcbtracker status="<i>status</i>" ecenable="" eclimit="" expire="" limit="" time=""&gt;
&lt;/response&gt;</code></pre>
<h2 id="pcbevent"><code>pcbevent</code></h2>
<h3 id="pcbevent.put"><code>pcbevent.put</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;pcbevent method="put"&gt;
<i>placeholder</i>
&lt;/pcbevent&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;pcbevent status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/pcbevent&gt;
&lt;/response&gt;</code></pre>
<h2 id="message"><code>message</code></h2>
<h3 id="message.get"><code>message.get</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;message method="get" /&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<b>TODO: Investigate this response more</b>
<pre><code>&lt;response&gt;
&lt;message expire="" status="<i>status</i>" /&gt;
&lt;/response&gt;</code></pre>
<h2 id="facility"><code>facility</code></h2>
<h3 id="facility.get"><code>facility.get</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;facility method="get"&gt;
<i>placeholder</i>
&lt;/facility&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;facility status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/facility&gt;
&lt;/response&gt;</code></pre>
<h2 id="apsmanager"><code>apsmanager</code></h2>
<h3 id="apsmanager.getstat"><code>apsmanager.getstat</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;apsmanager method="getstat"&gt;
<i>placeholder</i>
&lt;/apsmanager&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;apsmanager status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/apsmanager&gt;
&lt;/response&gt;</code></pre>
<h2 id="sidmgr"><code>sidmgr</code></h2>
<h3 id="sidmgr.create"><code>sidmgr.create</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;sidmgr method="create"&gt;
<i>placeholder</i>
&lt;/sidmgr&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;sidmgr status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/sidmgr&gt;
&lt;/response&gt;</code></pre>
<h3 id="sidmgr.open"><code>sidmgr.open</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;sidmgr method="open"&gt;
<i>placeholder</i>
&lt;/sidmgr&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;sidmgr status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/sidmgr&gt;
&lt;/response&gt;</code></pre>
<h3 id="sidmgr.touch"><code>sidmgr.touch</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;sidmgr method="touch"&gt;
<i>placeholder</i>
&lt;/sidmgr&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;sidmgr status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/sidmgr&gt;
&lt;/response&gt;</code></pre>
<h3 id="sidmgr.branch"><code>sidmgr.branch</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;sidmgr method="branch"&gt;
<i>placeholder</i>
&lt;/sidmgr&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;sidmgr status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/sidmgr&gt;
&lt;/response&gt;</code></pre>
<h3 id="sidmgr.close"><code>sidmgr.close</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;sidmgr method="close"&gt;
<i>placeholder</i>
&lt;/sidmgr&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;sidmgr status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/sidmgr&gt;
&lt;/response&gt;</code></pre>
<h2 id="dlstatus"><code>dlstatus</code></h2>
<h3 id="dlstatus.done"><code>dlstatus.done</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;dlstatus method="done"&gt;
<i>placeholder</i>
&lt;/dlstatus&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;dlstatus status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/dlstatus&gt;
&lt;/response&gt;</code></pre>
<h3 id="dlstatus.progress"><code>dlstatus.progress</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;dlstatus method="progress" /&gt;
&lt;progress __type="s32" /&gt;
&lt;/dlstatus&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;dlstatus status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/dlstatus&gt;
&lt;/response&gt;</code></pre>
<h2 id="eacoin"><code>eacoin</code></h2>
<h3 id="eacoin.checkin"><code>eacoin.checkin</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;eacoin method="checkin"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;eacoin status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/response&gt;</code></pre>
<h3 id="eacoin.checkout"><code>eacoin.checkout</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;eacoin method="checkout"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;eacoin status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/response&gt;</code></pre>
<h3 id="eacoin.consume"><code>eacoin.consume</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;eacoin method="consume"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;eacoin status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/response&gt;</code></pre>
<h3 id="eacoin.getbalance"><code>eacoin.getbalance</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;eacoin method="getbalance"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;eacoin status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/response&gt;</code></pre>
<h3 id="eacoin.getecstatus"><code>eacoin.getecstatus</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;eacoin method="getecstatus"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;eacoin status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/response&gt;</code></pre>
<h3 id="eacoin.touch"><code>eacoin.touch</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;eacoin method="touch"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;eacoin status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/response&gt;</code></pre>
<h3 id="eacoin.opchpass"><code>eacoin.opchpass</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;eacoin method="opchpass"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;eacoin status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/response&gt;</code></pre>
<h3 id="eacoin.opchecking"><code>eacoin.opchecking</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;eacoin method="opchecking"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;eacoin status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/response&gt;</code></pre>
<h3 id="eacoin.opcheckout"><code>eacoin.opcheckout</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;eacoin method="opcheckout"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;eacoin status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/response&gt;</code></pre>
<h3 id="eacoin.getlog"><code>eacoin.getlog</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;eacoin method="getlog"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;eacoin status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/eacoin&gt;
&lt;/response&gt;</code></pre>
<h2 id="traceroute"><code>traceroute</code></h2>
<h3 id="traceroute.send"><code>traceroute.send</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;traceroute method="send"&gt;
<i>placeholder</i>
&lt;/traceroute&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;traceroute status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/traceroute&gt;
&lt;/response&gt;</code></pre>
<h2 id="game"><code>game</code></h2>
<h3 id="game.sv4_sample"><code>game.sv4_sample</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_sample"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_new"><code>game.sv4_new</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_new"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_load"><code>game.sv4_load</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_load"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_load_m"><code>game.sv4_load_m</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_load_m"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_save"><code>game.sv4_save</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_save"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_save_m"><code>game.sv4_save_m</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_save_m"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_common"><code>game.sv4_common</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_common"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_shop"><code>game.sv4_shop</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_shop"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_hiscore"><code>game.sv4_hiscore</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_hiscore"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_buy"><code>game.sv4_buy</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_buy"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_exception"><code>game.sv4_exception</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_exception"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_entry_s"><code>game.sv4_entry_s</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_entry_s"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_entry_e"><code>game.sv4_entry_e</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_entry_e"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_frozen"><code>game.sv4_frozen</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_frozen"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_lounce"><code>game.sv4_lounce</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_lounce"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_save_e"><code>game.sv4_save_e</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_save_e"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_save_pb"><code>game.sv4_save_pb</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_save_pb"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_save_c"><code>game.sv4_save_c</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_save_c"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_play_s"><code>game.sv4_play_s</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_play_s"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_play_e"><code>game.sv4_play_e</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_play_e"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_serial"><code>game.sv4_serial</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_serial"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_save_fi"><code>game.sv4_save_fi</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_save_fi"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_print"><code>game.sv4_print</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_print"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_print_h"><code>game.sv4_print_h</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_print_h"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_load_r"><code>game.sv4_load_r</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_load_r"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
<h3 id="game.sv4_save_campaign"><code>game.sv4_save_campaign</code></h3>
<h4>Request:</h4>
<pre><code>&lt;call <i>...</i>&gt;
&lt;game method="sv4_save_campaign"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/call&gt;</code></pre>
<h4>Response:</h4>
<pre><code>&lt;response&gt;
&lt;game status="<i>status</i>"&gt;
<i>placeholder</i>
&lt;/game&gt;
&lt;/response&gt;</code></pre>
</body>