Network protocol
AW-NET games exchange numbered messages with their servers. Some handle connections and card-linked records; others carry the online game itself. This guide explains the service IDs found in the five supported games.
Service IDs and packet types
A packet is one network message. Its header includes a service ID, which selects a group of operations, and a packet type, which selects an operation within that group. The service ID is called ServerId in the protocol references, but it is a routing number inside the message, not a network address, port or separate physical server.
Think of the service ID as a department and the packet type as a request sent to that department. The game's hostname and UDP endpoint get the message to the server; the service ID tells the receiving software which handler should deal with it.
Packet types also depend on direction. A message sent by the cabinet can mean something different from a message with the same numbers sent back by the server. A complete packet reference therefore needs the game, direction, service ID and packet type.
Known services
Five distinct service IDs have been identified across these games. Numbers below are decimal unless prefixed with 0x, which marks hexadecimal notation.
| Service ID | Plain-language name | What it does |
|---|---|---|
0 (0x0000) |
Message receipts | Confirms that a network message arrived so the sender can advance its queue. A receipt alone does not mean that a game save succeeded. |
1 (0x0001) |
Connection and common data services | Sets up the cabinet's connection, supplies server addresses and identifies cards or accounts. Depending on the game, it also exchanges time, rankings, player-data blocks and backup uploads. |
2 (0x0002) |
Salaryman online play | Handles game-session login, rooms and participants, gameplay messages, chat and logout in Salaryman Kintaro. |
10 (0x000A) |
Card-linked account and save operations | Handles operations such as associating an account with a replacement card and uploading a constructed card-related record. The cabinet handles physical card reading and writing separately. |
10020 (0x2724) |
Victory Furlong game services | Handles player and horse records, race participation, opponents, race commands, rankings, tournaments and other horse-racing features. |
Which games use which services
All five games use services 0, 1 and 10. Salaryman Kintaro and Victory Furlong each add a game-specific service.
| Game | Shared service IDs | Additional game service |
|---|---|---|
| The King of Fighters NEOWAVE | 0, 1, 10 | None identified |
| Guilty Gear Isuka | 0, 1, 10 | None identified |
| NeoGeo Battle Coliseum | 0, 1, 10 | None identified |
| Victory Furlong | 0, 1, 10 | 10020 (0x2724) |
| Net Select: Salaryman Kintaro | 0, 1, 10 | 2 (0x0002) |
A shared ID does not guarantee an identical packet layout or operation. Service 1 is especially broad: the fighting games use it for game-related data and rankings, while Furlong places many of its features in its own game service. Each game's packet formats must be checked independently.
Salaryman's gameplay messages
Salaryman has another layer inside its game packets. A received service 2, type 4 packet carries a gameplay message with its own message type, player position and data value. The outer numbers route it to the gameplay handler; the inner fields describe the game event.
Client diagnostic strings explicitly identify login, room, game-packet, chat and logout messages. Research is tracing their producers and consumers to establish how Mahjong, Daifugo and Reversi exchange moves and coordinate play.
Evidence and scope
This directory reflects client-code analysis and the replacement-server research as of 15 October 2026. The names are plain-language descriptions of observed behavior, rather than a recovered list of Sammy's original service names. The five IDs cover the examined clients; they are not a claim that no other AW-NET service IDs ever existed.
The common services and Furlong's game service are documented in the existing protocol audits. Salaryman's service 2 dispatcher and its diagnostic strings have been identified in salmankt_cart_dec.bin; its full packet inventory, field meanings and reply requirements remain under investigation. Identifying a handler does not by itself establish the original server's rules or prove that a replacement server satisfies the complete gameplay flow.