4. Skip to content

4. Cabinet Power On

4.1 Endpoint

/sys/servlet/PowerOn

4.2 Request

All requests to this endpoint MUST be DFI-encoded.

Field Content Maximum length Required Comments
game_id Game ID 5 Yes
ver Game version 5 Yes 0 to 65.54
serial Board serial 11 Yes
ip Store IP 15 Yes
firm_ver Firmware/library version 6 No -99999 to 99999. Represents a semver as %01d%02d%02d
boot_ver Boot ROM version 6 No -99999 to 99999. Formatted as %02X%02X
encode Response encoding 9 No One of:
  • Shift_JIS
  • EUC-JP
  • UTF-8
Defaults to EUC-JP if unspecified.
format_ver Format version 11 No Defaults to 1.00 if unspecified or negative.
hops Number of hops 6 No -99999 to 99999, defaults to -1 if unspecified
Field Content Maximum length Required Comments
game_id Game ID 5 Yes
ver Game version 5 Yes 0 to 65.54
serial Board serial 11 Yes
ip Store IP 15 Yes
firm_ver Firmware/library version 6 No -99999 to 99999. Represents a semver as %01d%02d%02d
boot_ver Boot ROM version 6 No -99999 to 99999. Formatted as %02X%02X
encode Response encoding 9 No One of:
  • Shift_JIS
  • EUC-JP
  • UTF-8
Defaults to EUC-JP if unspecified.
format_ver Format version 11 Yes Defaults to 1.00 if unspecified or negative.
hops Number of hops 6 No -99999 to 99999, defaults to -1 if unspecified
Field Content Maximum length Required Comments
game_id Game ID 5 Yes
ver Game version 5 Yes 0 to 65.54
serial Board serial 11 Yes
ip Store IP 15 Yes
firm_ver Firmware/library version 6 No -99999 to 99999. Represents a semver as %01d%02d%02d
boot_ver Boot ROM version 6 No -99999 to 99999. Formatted as %02X%02X
encode Response encoding 9 No One of:
  • Shift_JIS
  • EUC-JP
  • UTF-8
Defaults to EUC-JP if unspecified.
format_ver Format version 11 Yes Defaults to 1.00 if unspecified or negative.
hops Number of hops 6 No -99999 to 99999, defaults to -1 if unspecified
token None No
Field Content Maximum length Required Comments
title_id Game ID 5 Yes
title_ver Game version 5 Yes 0 to 65.54
machine Board serial 11 Yes
firm_ver Firmware/library version 6 No -99999 to 99999. Represents a semver as %01d%02d%02d
boot_ver Boot ROM version 6 No -99999 to 99999. Formatted as %02X%02X
encode Response encoding 9 No One of:
  • Shift_JIS
  • EUC-JP
  • UTF-8
Defaults to EUC-JP if unspecified.
format_ver Format version 11 Yes Defaults to 1.00 if unspecified or negative.
hops Number of hops 6 ? -99999 to 99999, defaults to -1 if unspecified
token None No
Field Content Maximum length Required Comments
game_id Game ID 5 Yes
game_ver Game version 5 Yes 0 to 65.54
machine Board serial 11 Yes
server ?? ? Yes
firm_ver Firmware/library version 6 No -99999 to 99999. Represents a semver as %01d%02d%02d
boot_ver Boot ROM version 6 No -99999 to 99999. Formatted as %02X%02X
encode Response encoding 9 No One of:
  • Shift_JIS
  • EUC-JP
  • UTF-8
Defaults to EUC-JP if unspecified.
format_ver Format version 11 Yes Defaults to 1.00 if unspecified or negative.
hops Number of hops 6 ? -99999 to 99999, defaults to -1 if unspecified
token None No

“game_id=%s&ver=%s&serial=%s&server=%s&ip=%s&firm_ver=%01d%02d%02d&boot_ver=%02X%02X&format_ver=%s&hops=%d\r\n”

Field Content Maximum length Required Comments
game_id Game ID 5 Yes
ver Game version 5 Yes 0 to 65.54
serial Board serial 11 Yes
ip Store IP 15 Yes
firm_ver Firmware/library version 6 No -99999 to 99999. Represents a semver as %01d%02d%02d
boot_ver Boot ROM version 6 No -99999 to 99999. Formatted as %02X%02X
encode Response encoding 9 No One of:
  • Shift_JIS
  • EUC-JP
  • UTF-8
Defaults to EUC-JP if unspecified.
format_ver Format version 11 Yes Defaults to 1.00 if unspecified or negative.
hops Number of hops 6 No -99999 to 99999, defaults to -1 if unspecified
token None No
auth_data 1535 Yes

See full page regarding Auth V2

All fields are of type string.

Name Required Default Meaning
game_id Yes The four-digit game ID
ver Yes The game version
serial Yes The keychip serial number
ip Yes The tenpo router IP address (%d.%d.%d.%d)
firm_ver Yes The ALL.Net library version (a semantic version, formatted as %01d%02d%02d)
boot_ver Yes Unknown. Just pass 0000. (%02X%02X)
encode EUC-JP Request encoding. EUC-JP, Shift_JIS and UTF-8 are common, but be prepared to handle more.
format_ver 1.00 Request format version. Parsed as a float, however 1.00, 2.00 and 3 are the only values that should be observed.
hops -1
token Added in format 3, this value is echoed in the response.
Observed values for firm_ver
  • 0.01.00
  • 0.02.00
  • 2.00.07
  • 2.00.08
  • 2.01.02
  • 3.00.00
  • 3.00.01
  • 3.00.02
  • 3.00.03
  • 3.00.04
  • 3.00.05
  • 3.00.09
  • 5.00.00
  • 6.00.00

Other values likely exist.

Warning

One of the parameters in the request is ip. This value is controlled by the authenticating client. It is recommended, where possible, to instead use the IP address of the connecting client, noting that if the service is behind a reverse proxy (eg Cloudflare) a degree of un-masking may be required first to reveal this value.

While a legitimate cabinet will be honest with this value, returning the determined address for tenporouter.loc, a malicious user may choose to spoof the value here. Additionally, should you choose to support clients connecting from personal computers via a loader, this value is likely to be nonsensical.

The server should then use the provided information to authenticate the machine as it sees fit, and will then return the information required for use of ALL.Net services.

4.3 Response

The response structure varies depending on the format version in use.

Field Content Type Maximum length Required Comments
stat Status numeric 2 Yes
  • 1: Success
  • -1: Game error
  • -2: Board error
  • -3: Location error
place_id Store ID string 4 Yes Uppercase hexadecimal
uri Game server URI string 128 Yes2
host Game server hostname string 128 Yes2
name Store name string 60 Yes URL-encoded UTF-8. After encoding, maximum length will be 180 bytes
nickname Store nickname string 40 Yes URL-encoded UTF-8. After encoding, maximum length will be 120 bytes
year Server time numeric 4 Yes 1970 to 9999
month numeric 2 Yes 1 to 12
day numeric 2 Yes 1 to 31
hour numeric 2 Yes 0 to 23
minute numeric 2 Yes 0 to 59
second numeric 2 Yes 0 to 59
setting Game-specific numeric 6 Yes -99999 to 999991
region0 Region code numeric 10 Yes 0 to 9999999999
region_name0 Region 1 string 48 Yes URL-encoded UTF-8. After encoding, maximum length will be 144 bytes
region_name1 Region 2 string 48 Yes
region_name2 Region 3 string 48 Yes
region_name3 Region 4 string 48 Yes
Field Content Type Maximum length Required Comments
stat Status numeric 2 Yes
  • 1: Success
  • -1: Game error
  • -2: Board error
  • -3: Location error
place_id Store ID string 4 Yes Uppercase hexadecimal
uri Game server URI string 128 Yes2
host Game server hostname string 128 Yes2
name Store name string 60 Yes URL-encoded UTF-8. After encoding, maximum length will be 180 bytes
nickname Store nickname string 40 Yes URL-encoded UTF-8. After encoding, maximum length will be 120 bytes
year Server time numeric 4 Yes 1970 to 9999
month numeric 2 Yes 1 to 12
day numeric 2 Yes 1 to 31
hour numeric 2 Yes 0 to 23
minute numeric 2 Yes 0 to 59
second numeric 2 Yes 0 to 59
setting Game-specific numeric 6 Yes -99999 to 999991
region0 Region code numeric 10 Yes 0 to 9999999999
region_name0 Region 1 string 48 Yes URL-encoded UTF-8. After encoding, maximum length will be 144 bytes
region_name1 Region 2 string 48 Yes
region_name2 Region 3 string 48 Yes
region_name3 Region 4 string 48 Yes
country Country code string 3 Yes
timezone Timezone string 6 Yes Constant +09:00
res_class string 19 Yes Constant PowerOnResponseVer2
Field Content Type Maximum length Required Comments
stat Status numeric 2 Yes
  • 1: Success
  • -1: Game error
  • -2: Board error
  • -3: Location error
place_id Store ID string 4 Yes Uppercase hexadecimal
uri Game server URI string 128 Yes2
host Game server hostname string 128 Yes2
name Store name string 60 Yes URL-encoded UTF-8. After encoding, maximum length will be 180 bytes
nickname Store nickname string 40 Yes URL-encoded UTF-8. After encoding, maximum length will be 120 bytes
setting Game-specific numeric 6 Yes -99999 to 999991
region0 Region code numeric 10 Yes 0 to 9999999999
region_name0 Region 1 string 48 Yes URL-encoded UTF-8. After encoding, maximum length will be 144 bytes
region_name1 Region 2 string 48 Yes
region_name2 Region 3 string 48 Yes
region_name3 Region 4 string 48 Yes
country Country code string 3 Yes
allnet_id ALL.Net ID numeric 11 Yes -9999999999 to 9999999999
utc_time Authentication time string 20 Yes yyyy-MM-dd'T'HH:mm:ss'Z'
client_timezone Client timezone string 5 Yes eg +9000
res_ver Response version string 1 Yes Constant 3
token Token string Yes Echoes request. Defaults to null if not present in request.
Field Content Type Maximum length Required Comments
result Status numeric 2 Yes
  • 1: Success
  • -1: Game error
  • -2: Board error
  • -3: Location error
place_id Store ID string 4 Yes Uppercase hexadecimal
title_uri Game server URI string 128 Yes2
title_host Game server hostname string 128 Yes2
name Store name string 60 Yes URL-encoded UTF-8. After encoding, maximum length will be 180 bytes
nickname Store nickname string 40 Yes URL-encoded UTF-8. After encoding, maximum length will be 120 bytes
setting Game-specific numeric 6 Yes -99999 to 999991
region0 Region code numeric 10 Yes 0 to 9999999999
region_name0 Region 1 string 48 Yes URL-encoded UTF-8. After encoding, maximum length will be 144 bytes
region_name1 Region 2 string 48 Yes
region_name2 Region 3 string 48 Yes
region_name3 Region 4 string 48 Yes
country Country code string 3 Yes
allnet_id ALL.Net ID numeric 11 Yes -9999999999 to 9999999999
utc_time Authentication time string 20 Yes yyyy-MM-dd'T'HH:mm:ss'Z'
client_timezone Client timezone string 5 Yes eg +9000
res_ver Response version string 1 Yes Constant 5
location_ip string 15 Yes
token Token string None Yes Echoes request. Defaults to null if not present in request.
Field Content Type Maximum length Required Comments
result Result
place_id Store ID
uri1 Title server URI 1
uri2 Title server URI 2
name Store name URL-encoded UTF-8
nickname Store nickname URL-encoded UTF-8
setting Game-specific
region0 Region code
region_name0 Region 1 URL-encoded UTF-8
region_name1 Region 2 Constant empty
region_name2 Region 3 Constant empty
region_name3 Region 4 Constant empty
country Country code Constant CHN
location_type 1: Physical store, -1: Development store
utc_time yyyy-MM-dd'T'HH:mm:ss'Z'
client_timezone Constant +800
res_ver Constant 3
token Echoes request. Defaults to null if not present in request.
Field Content Type Maximum length Required Comments
auth_data
packet_data

See full page regarding Auth V2

V5: result=0&client_timezone=…&utc_time=…&name=…&nickname=…&region_name0=…&region_name1=…&region_name2=…&region_name3=…

Name Required Default Version added Final version present Notes
stat Yes Success: 1, Game failure: -1, Machine failure: -2, Location failure: -3
uri Yes empty Title server URI3. Will be empty if stat<=0
host Yes empty Title server hostname3. Will be empty if stat<=0
place_id ALL.Net location ID. Must fit within a signed int16.
name ALL.Net location name
nickname ALL.Net location nickname
region0 Yes 0 Region information.
region_name0 Yes empty
region_name1 Yes empty
region_name2 Yes empty
region_name3 Yes empty
country 2 ALL.Net 3-character country code
allnet_id 3
client_timezone Yes empty 3 Example +0900
utc_time Yes 3 yyyy-MM-dd'T'HH:mm:ss'Z'
res_ver Yes 3 Will always be the literal 3
token Yes 3 The token from the request
year Yes 2 Current time
month Yes 2
day Yes 2
hour Yes 2
minute Yes 2
timezone Yes 2 2 Will always be the literal +09:00
res_class Yes 2 2 Will always be the literal PowerOnResponseVer2
setting Yes Machine setting. 1 indicates the machine is OK, and should always be set.

4.4 Suggested Authentication Process

The specific process used to authenticate a cabinet will vary by server implementation. The official ALL.Net services uses an incredibly length process, not documented here.

Instead, the following diagram is my personal recommendation for a simple way to implement this service while retaining flexability.


  1. In practice this appears to be used as a “network allowed” flag. If ever unsure, specify this field as 1

  2. Will be present, but empty, if stat<=0 

  3. The hostname (if present) in uri is used for name resolution. The value in host is passed to the title server in the Host header, and can be utilized as an extra authentication step.