Skip to content

Commit

Permalink
doc/teehistorian: Escape underscores
Browse files Browse the repository at this point in the history
  • Loading branch information
heinrich5991 committed Jan 28, 2024
1 parent 9116184 commit 406f45a
Showing 1 changed file with 23 additions and 23 deletions.
46 changes: 23 additions & 23 deletions doc/teehistorian.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,37 +42,37 @@ Messages
Each message starts with a Teeworlds variable-width integer, which is the
message ID.

* PLAYER_DIFF(0-63): dx(int) dy(int) records that player with the message ID as cid (client ID) has changed position in a way that adds dx to the x coordinate and y to the y coordinate
* PLAYER\_DIFF(0-63): dx(int) dy(int) records that player with the message ID as cid (client ID) has changed position in a way that adds dx to the x coordinate and y to the y coordinate
* FINISH(-1): records the end of the teehistorian file
* TICK_SKIP(-2): dt(int) records that there were dt ticks in which nothing happened, i.e. the next tick is the last tick + dt + 1
* PLAYER_NEW(-3): cid(int) x(int) y(int) records that a new player character with cid appeared at (x, y)
* PLAYER_OLD(-4): cid(int) records that the player character with cid disappeared
* INPUT_DIFF(-5): cid(int) dinput(int[10]) records that a player with cid sent an input packet but has sent one before, add dinput to the previous input component-wise to obtain the new one
* INPUT_NEW(-6): cid(int) input(int[10]) records that a player with cid sent an input packet for the first time, containing input
* TICK\_SKIP(-2): dt(int) records that there were dt ticks in which nothing happened, i.e. the next tick is the last tick + dt + 1
* PLAYER\_NEW(-3): cid(int) x(int) y(int) records that a new player character with cid appeared at (x, y)
* PLAYER\_OLD(-4): cid(int) records that the player character with cid disappeared
* INPUT\_DIFF(-5): cid(int) dinput(int[10]) records that a player with cid sent an input packet but has sent one before, add dinput to the previous input component-wise to obtain the new one
* INPUT\_NEW(-6): cid(int) input(int[10]) records that a player with cid sent an input packet for the first time, containing input
* MESSAGE(-7): cid(int) msgsize(int) msg(raw[msgsize]) records that a player with cid sent a game-related packet msg
* JOIN(-8): cid(int) records that a player with cid joined, on the engine level
* DROP(-9): cid(int) reason(str) records that a player with cid left/was kicked/was dropped, on the engine level
* CONSOLE_COMMAND(-10): cid(int) flags(int) cmd(str) num_args(int) args(str[num_args]) records that a console command cmd was executed by client id cid (not necessarily a player, might be a vote as well), with flags (distinguishes chat commands, etc.) with parameters args
* CONSOLE\_COMMAND(-10): cid(int) flags(int) cmd(str) num\_args(int) args(str[num\_args]) records that a console command cmd was executed by client id cid (not necessarily a player, might be a vote as well), with flags (distinguishes chat commands, etc.) with parameters args
* EX(-11): uuid(uuid) size(int) data(raw[size]) records an extension message, identified by uuid and containing data
* introduced in DDNet 11.0.3, [6c378b972b70b055](https://github.com/ddnet/ddnet/commit/6c378b972b70b0556d3b434b26baa0b9ffe490f1)

The following extra messages are known right now:
* TEST([email protected]): is just a test message
* uuid: 6bb8ba88-0f0b-382e-8dae-dbf4052b8b7d
* introduced in DDNet 11.0.3, [6c378b972b70b055](https://github.com/ddnet/ddnet/commit/6c378b972b70b0556d3b434b26baa0b9ffe490f1)
* DDNETVER_OLD([email protected]): cid(int), version(int)
* DDNETVER\_OLD([email protected]): cid(int), version(int)
* uuid: 41b49541-f26f-325d-8715-9baf4b544ef9
* introduced in DDNet 13.2, [0d7872c79eaeb19b](https://github.com/ddnet/ddnet/commit/0d7872c79eaeb19b3fd08c39c013a1043db1fd9b)
* DDNETVER([email protected]): cid(int), connection_id(uuid), version(int), version_str(str)
* DDNETVER([email protected]): cid(int), connection\_id(uuid), version(int), version\_str(str)
* uuid: 1397b63e-ee4e-3919-b86a-b058887fcaf5
* introduced in DDNet 13.2, [0d7872c79eaeb19b](https://github.com/ddnet/ddnet/commit/0d7872c79eaeb19b3fd08c39c013a1043db1fd9b)
* AUTH_INIT([email protected]): cid(int) level(int) auth_name(str) records that a player with cid got rcon access with level under the account name auth_name since the start of the map (because they had it before the map change as well)
* AUTH\_INIT([email protected]): cid(int) level(int) auth\_name(str) records that a player with cid got rcon access with level under the account name auth\_name since the start of the map (because they had it before the map change as well)
* uuid: 60daba5c-52c4-3aeb-b8ba-b2953fb55a17
* introduced in DDNet 11.0.3, [1c3dc8c316c2bf37](https://github.com/ddnet/ddnet/commit/1c3dc8c316c2bf37b94814d390c1c214422d46a9)
* AUTH_LOGIN([email protected]): cid(int) level(int) auth_name(str) records that a player with cid just logged into rcon with level under the account name auth_name
* AUTH\_LOGIN([email protected]): cid(int) level(int) auth\_name(str) records that a player with cid just logged into rcon with level under the account name auth\_name
* uuid: 37ecd3b8-9218-3bb9-a71b-a935b86f6a81
* introduced in DDNet 11.0.3, [1c3dc8c316c2bf37](https://github.com/ddnet/ddnet/commit/1c3dc8c316c2bf37b94814d390c1c214422d46a9)
* AUTH_LOGOUT([email protected]): cid(int) records that a player with cid just logged out of rcon
* AUTH\_LOGOUT([email protected]): cid(int) records that a player with cid just logged out of rcon
* uuid: d4f5abe8-edd2-3fb9-abd8-1c8bb84f4a63
* introduced in DDNet 11.0.3, [1c3dc8c316c2bf37](https://github.com/ddnet/ddnet/commit/1c3dc8c316c2bf37b94814d390c1c214422d46a9)
* JOINVER6([email protected]): cid(int)
Expand All @@ -81,41 +81,41 @@ The following extra messages are known right now:
* JOINVER7([email protected]): cid(int)
* uuid: 59239b05-0540-318d-bea4-9aa1e80e7d2b
* introduced in DDNet 14.0 [e294da41ba7142cb](https://github.com/ddnet/ddnet/commit/e294da41ba7142cb583a5dd2eab45af2ec9a8447)
* TEAM_SAVE_SUCCESS([email protected]): team(int), save_id(uuid), save(str)
* TEAM\_SAVE\_SUCCESS([email protected]): team(int), save\_id(uuid), save(str)
* uuid: 4560c756-da29-3036-81d4-90a50f0182cd
* introduced in DDNet 14.0.2, [d8aab366fc8489c8](https://github.com/ddnet/ddnet/commit/d8aab366fc8489c8cba4c77d73a6a7bfcce83bbc)
* TEAM_SAVE_FAILURE([email protected]): team(int)
* TEAM\_SAVE\_FAILURE([email protected]): team(int)
* uuid: b29901d5-1244-3bd0-bbde-23d04b1f7ba9
* introduced in DDNet 14.0.2, [d8aab366fc8489c8](https://github.com/ddnet/ddnet/commit/d8aab366fc8489c8cba4c77d73a6a7bfcce83bbc)
* TEAM_LOAD_SUCCESS([email protected]): team(int), save_id(uuid), save(str)
* TEAM\_LOAD\_SUCCESS([email protected]): team(int), save\_id(uuid), save(str)
* uuid: e05408d3-a313-33df-9eb3-ddb990ab954a
* introduced in DDNet 14.0.2, [d8aab366fc8489c8](https://github.com/ddnet/ddnet/commit/d8aab366fc8489c8cba4c77d73a6a7bfcce83bbc)
* TEAM_LOAD_FAILURE([email protected]): team(int)
* TEAM\_LOAD\_FAILURE([email protected]): team(int)
* uuid: ef8905a2-c695-3591-a1cd-53d2015992dd
* introduced in DDNet 14.0.2, [d8aab366fc8489c8](https://github.com/ddnet/ddnet/commit/d8aab366fc8489c8cba4c77d73a6a7bfcce83bbc)
* TEEHISTORIAN_PLAYER_TEAM([email protected]): cid(int), team(int) records team changes
* TEEHISTORIAN\_PLAYER\_TEAM([email protected]): cid(int), team(int) records team changes
* uuid: a111c04e-1ea8-38e0-90b1-d7f993ca0da9
* introduced in DDNet 15.6, [e9dec007b22a071e](https://github.com/ddnet/ddnet/commit/e9dec007b22a071e9d104682955c952633455c27)
* TEEHISTORIAN_TEAM_PRACTICE([email protected]): team(int), practice(int) records when a team enters practice mode, resulting ranks don't get submitted to the database
* TEEHISTORIAN\_TEAM\_PRACTICE([email protected]): team(int), practice(int) records when a team enters practice mode, resulting ranks don't get submitted to the database
* uuid: 5792834e-81d1-34c9-a29b-b5ff25dac3bc
* introduced in DDNet 15.6, [81f4263428069526](https://github.com/ddnet/ddnet/commit/81f426342806952603a2d28290279e0a7107db5b)
* TEEHISTORIAN_PLAYER_READY([email protected]): cid(int) records when the client messages that it is ready to join the game, leading to the tee being spawned in the following tick
* TEEHISTORIAN\_PLAYER\_READY([email protected]): cid(int) records when the client messages that it is ready to join the game, leading to the tee being spawned in the following tick
* uuid: 638587c9-3f75-3887-918e-a3c2614ffaa0
* introduced in DDNet 16.0, [3ea55dcc0ebc1c79](https://github.com/ddnet/ddnet/commit/3ea55dcc0ebc1c791e11cab0c268febe7e783504)
* TEEHISTORIAN_PLAYER_SWITCH("[email protected]): cid1(int), cid2(int) records the ids of players swapping tees
* TEEHISTORIAN\_PLAYER\_SWITCH("[email protected]): cid1(int), cid2(int) records the ids of players swapping tees
* uuid: 5de9b633-49cf-3e99-9a25-d4a78e9717d7
* introduced in DDNet 16.1, [86f57289c6ff1926](https://github.com/ddnet/ddnet/commit/86f57289c6ff1926e1e9802de33ceae69a026717)

The following data types are used:
* int is a [teeworlds variable-width integer](int.md)
* str is a null-terminated string
* raw[size] is simply size bytes
* str[num_args] is num_args null-terminated strings
* str[num\_args] is num\_args null-terminated strings
* uuid is 16 bytes of a UUID

the UUIDs are version 3 UUIDs, with the teeworlds namespace e05ddaaa-c4e6-4cfb-b642-5d48e80c0029
a tick is implicit in these messages when a player with lower cid is recorded using any of PLAYER_DIFF, PLAYER_NEW, PLAYER_OLD
a tick is implicit in these messages when a player with lower cid is recorded using any of PLAYER\_DIFF, PLAYER\_NEW, PLAYER\_OLD
e.g.
PLAYER_DIFF cid=0 … PLAYER_NEW cid=5 … PLAYER_OLD cid=3 has an implicit tick between the cid=5 and the cid=3 message
PLAYER\_DIFF cid=0 … PLAYER\_NEW cid=5 … PLAYER\_OLD cid=3 has an implicit tick between the cid=5 and the cid=3 message
another correction:
the header is the teehistorian uuid followed by a zero-terminated string containing json in a self-explanatory format

0 comments on commit 406f45a

Please sign in to comment.