From a5e2a7569bf1d16ebe2dd69d443d8159815d8077 Mon Sep 17 00:00:00 2001 From: Bottersnike Date: Wed, 22 Dec 2021 04:21:13 +0000 Subject: [PATCH] All the base bemani xrpc methods --- protocol.html | 233 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 175 insertions(+), 58 deletions(-) diff --git a/protocol.html b/protocol.html index ed28946..6d65e16 100644 --- a/protocol.html +++ b/protocol.html @@ -306,13 +306,25 @@

Request:

<call ...>
     <playerdata method="usergamedata_send">
-        placeholder
+        <retrycnt __type="u32" />
+            <info>
+                <version __type="u32" />
+            </info>
+            <data>
+                <refid __type="str" />
+                <dataid __type="str" />
+                <gamekind __type="str" />
+                <datanum __type="u32" />
+                <record>
+                    <d[] __type="str" />
+                </record>
+            </data>
     </playerdata>
 </call>

Response:

<response>
     <playerdata status="status">
-        placeholder
+        <result __type="s32" />
     </playerdata>
 </response>
@@ -320,6 +332,9 @@

Request:

<call ...>
     <playerdata method="usergamedata_recv">
+        <info>
+            <version __type="u32" />
+        </info>
         <data>
             <refid __type="str">
             <dataid __type="str">
@@ -341,35 +356,55 @@
     

Response:

<response>
     <playerdata status="status">
-        placeholder
+        <player>
+            <result>
+                <record_num __type="u32" />
+            </result>
+            <record>
+                <d[]>
+                    <bin1 __type="str" />
+                </d[]>
+            </record>
+        </player>
     </playerdata>
 </response>

playerdata.usergamedata_inheritance

-

Request:

-
<call ...>
-    <playerdata method="usergamedata_inheritance">
-        placeholder
-    </playerdata>
-</call>
-

Response:

-
<response>
-    <playerdata status="status">
-        placeholder
-    </playerdata>
-</response>
+

See: playerdata.usergamedata_recv

playerdata.usergamedata_condrecv

Request:

<call ...>
     <playerdata method="usergamedata_condrecv">
-        placeholder
+        <info>
+            <version __type="s32" />
+        </info>
+        <data>
+            <dataid __type="str" />
+            <gamekind __type="str" />
+            <vkey __type="str" />
+            <conditionkey __type="str" />
+            <columns_bit __type="u64" />
+            <conditions_num __type="u32" />
+            <where __type="str" />
+            <order_num __type="u32" />
+            <order __type="str" />
+            <recv_num __type="u32" />
+        </info>
     </playerdata>
 </call>

Response:

<response>
     <playerdata status="status">
-        placeholder
+        <player>
+            <result __type="s32" />
+            <record_num __type="s32" />
+            <record>
+                <d[]>
+                    <bin1 __type="str" />
+                </d[]>
+            <record/>
+        </player>
     </playerdata>
 </response>
@@ -377,13 +412,26 @@

Request:

<call ...>
     <playerdata method="usergamedata_scorerank">
-        placeholder
+        <info>
+            <version __type="s32" />
+        </info>
+        <data>
+            <dataid __type="str" />
+            <gamekind __type="str" />
+            <ckey __type="str" />
+            <conditionkey __type="str" />
+            <score __type="str" />
+        </data>
     </playerdata>
 </call>

Response:

<response>
     <playerdata status="status">
-        placeholder
+        <rank>
+            <result __type="s32" />
+            <rank __type="s32" />
+            <updatetime __type="u64" />
+        </rank>
     </playerdata>
 </response>
@@ -393,28 +441,36 @@

Request:

<call ...>
     <matching method="request">
-        <matchtyp __type="s32" />
-        <matchgrp __type="s32" />
-        <matchflg __type="s32" />
-        <waituser __type="s32" />
-        <waittime __type="s32" />
-
-        <joinip __type="str" />
-        <localip __type="str" />
-        <localport __type="s32" />
-        <dataid __type="str" />
-        <gamekind __type="str" />
-        <locationid __type="str" />
-        <lineid __type="str" />
-        <locationcountry __type="str" />
-        <locationregion __type="str" />
-
+        <info>
+            <version __type="s32" />
+        </info>
+        <data>
+            <matchtyp __type="s32" />
+            <matchgrp __type="s32" />
+            <matchflg __type="s32" />
+            <waituser __type="s32" />
+            <waittime __type="s32" />
+            <joinip __type="str" />
+            <localip __type="str" />
+            <localport __type="s32" />
+            <dataid __type="str" />
+            <gamekind __type="str" />
+            <locationid __type="str" />
+            <lineid __type="str" />
+            <locationcountry __type="str" />
+            <locationregion __type="str" />
+        </data>
     </matching>
 </call>

Response:

<response>
     <matching status="status">
-        placeholder
+        <hostid __type="s64" />
+        <result __type="s32" />
+        <hostip_g __type="str" />
+        <hostip_l __type="str" />
+        <hostport_l __type="s32" />
+        <hostport_g __type="s32" />
     </matching>
 </response>
@@ -422,13 +478,21 @@

Request:

<call ...>
     <matching method="wait">
-        placeholder
+        <info>
+            <version __type="s32" />
+        </info>
+        <data>
+            <hostid __type="s64" />
+            <locationid __type="str" />
+            <lineid __type="str" />
+        </data>
     </matching>
 </call>

Response:

<response>
     <matching status="status">
-        placeholder
+        <result __type="s32" />
+        <prwtime __type="s32" />
     </matching>
 </response>
@@ -436,13 +500,20 @@

Request:

<call ...>
     <matching method="finish">
-        placeholder
+        <info>
+            <version __type="s32" />
+        </info>
+        <data>
+            <hostid __type="s64" />
+            <locationid __type="str" />
+            <lineid __type="str" />
+        </data>
     </matching>
 </call>

Response:

<response>
     <matching status="status">
-        placeholder
+        <result __type="s32" />
     </matching>
 </response>
@@ -452,13 +523,20 @@

Request:

<call ...>
     <system method="getmaster">
-        placeholder
+        <data>
+            <gamekind __type="str" />
+            <datatype __type="str" />
+            <datakey __type="str" />
+        </data>
     </system>
 </call>

Response:

<response>
     <system status="status">
-        placeholder
+        <result __type="s32" />
+        <strdata1 __type="str" />
+        <strdata2 __type="str" />
+        <updatedate __type="u64" />
     </system>
 </response>
@@ -466,13 +544,22 @@

Request:

<call ...>
     <system method="getlocationiplist">
-        placeholder
+        <data>
+            <locationid __type="str" />
+            <lineid __type="str" />
+        </data>
     </system>
 </call>

Response:

<response>
     <system status="status">
-        placeholder
+        <result __type="s32" />
+        <iplist>
+            <record_num __type="s32" />
+            <record[]>
+                <localconn __type="str" />
+            </record[]>
+        </iplist>
     </system>
 </response>
@@ -480,13 +567,35 @@

Request:

<call ...>
     <system method="xrpcproxy">
-        placeholder
+        <info>
+            <version __type="s32" />
+        </info>
+        <data>
+            <hostid __type="s64" />
+            <locationid __type="str" />
+            <lineid __type="str" />
+        </data>
     </system>
 </call>

Response:

<response>
     <system status="status">
-        placeholder
+        <result __type="s32" />
+        <pwrtime __type="s32" />
+        <matchlist>
+            <record_num __type="u32" />
+            <record[]>
+                <pcbid __type="str" />
+                <statusflg __type="str" />
+                <matchgrp __type="s32" />
+                <hostid __type="s64" />
+                <jointime __type="u64" />
+                <connip_g __type="str" />
+                <connport_g __type="s32" />
+                <connip_l __type="str" />
+                <connport_l __type="s32" />
+            </record[]>
+        </matchlist>
     </system>
 </response>
@@ -494,13 +603,22 @@

Request:

<call ...>
     <system method="convcardnumber">
-        placeholder
+        <info>
+            <version __type="s32" />
+        </info>
+        <data>
+            <card_id __type="str" />
+            <card_type __type="s32" />
+        </data>
     </system>
 </call>

Response:

<response>
     <system status="status">
-        placeholder
+        <result __type="s32" />
+        <data>
+            <card_number __type="str" />
+        </data>
     </system>
 </response>
@@ -510,28 +628,27 @@

Request:

<call ...>
     <esoc method="read">
-        placeholder
+        <senddata />
     </esoc>
 </call>

Response:

<response>
     <esoc status="status">
-        placeholder
+        <recvdata />
     </esoc>
 </response>
+

Go figure.

esoc.write

Request:

<call ...>
     <esoc method="write">
-        placeholder
+        <senddata />
     </esoc>
 </call>

Response:

<response>
-    <esoc status="status">
-        placeholder
-    </esoc>
+    <esoc status="status" />
 </response>
@@ -647,7 +764,7 @@ <lasttime __type="str" /> <exptime __type="str" /> <expflag __type="u8" /> - </item> + </item[]> </cardmng> </response>
@@ -800,7 +917,7 @@ <name __type="str" /> <value __type="s32" /> <time __type="time" /> - </item> + </item[]> </pcbevent> </call>

Response:

@@ -1234,7 +1351,7 @@ <cardno __type="str" /> <title __type="str" /> <systemid __type="str" /> - </item> + </item[]> </history> </eacoin> </response> @@ -1249,7 +1366,7 @@ <valid __type="bool"> <addr __type="ip4"> <usec __type="u64"> - </hop> + </hop[]> </traceroute> </call>

hop repeats for every hop (unsurprisingly)