-
Notifications
You must be signed in to change notification settings - Fork 0
Webchat Spec
How the client tells the server who they are
-
username: string of client's username
Single-word called only when the client relogs after a disconnect-- generally means don't resend info / old chats
How the ingame client authenticates
-
version: int version of game client -
password: string of the user's password
How the webchat client authenticates, key is kinda like an autogenerated webchat-only password
-
key: string of the user's login key
Incoming chat message from the client
-
destination: string of the username of the recipient client; if this is empty the chat is global -
message: string of the message text
When the game client changes locations
-
location: int of the new location index
Request for a user list update
Client wants to send a ping request to see if the server is still there
-
data: string of the ping data
Client is responding to a server's ping
-
data: string that should match the original PING data from the server
Client assigns itself a random game session that it uses to authenticate to multiplayer servers
-
session: string of the session
For tracking display / driver information. This is like 10 things
For tracking gui usage
-
gui name: string name of the gui -
gui open count: int how many times they've opened that gui since the last login
Add friend by username
-
username: string friend's username
Delete friend by username 😢
-
username: string friend's username
Client requests their friend list
Block person by username
-
username: string username of person to block
Unblock person by username
-
username: string username of person to unblock
Client is a sucker
Client leveled up-- literally sends a notify
-
level: int their new level
Client completed a task-- literally sends a notify
-
task name: string of the task name
Client got an achievement-- literally sends a notify (notice a theme here?)
- `achievement name: string of the achievement name
Client leveled up a mastery level-- literally sends a notify
-
level: int their new level
Client prestige leveled up--literally sends a notify
-
level: int their new level
Sent command was invalid.
Client needs to accept the TOS before they can log in. Clients should display the TOS now.
Client has logged in successfully!
Status of the client's identification
-
status: string can be any of these:-
CHALLENGE: clientis Jeffneeds to identify before doing anything else -
SUCCESS: client's login information was good, expect lots of login info -
INVALID: client's login information was wrong -
OUTOFDATE: client's game is not up to date -
OFFLINE: server is offline for maintenance -
NEEDACTIVATION: client needs to activate their account and should check their spam inbox -
BANNED: client plays the tuba
-
Server wants to make sure the client is still connected, client should send exactly the same data back
-
data: string ping data to return
Server is responding to a client PING
-
data: string ping data from client
How long the client took to respond to the PING
-
time: int time, in seconds, that the ping took to respond
Server info that the client should know about.
-
type: string can by any of these:-
LOGGING: client should enable debug logging -
ACCESS: data is the client's access level -
DISPLAY: data is the client's display name -
SERVERTIME: data is the server's current time -
WELCOME: data is the welcome message -
DEFAULT: data is the default high score for the leaderboards -
ADDRESS: data is the client's IP address -
HELP: data is<page> <contents...>' wherepageis the help page andcontents` are its contents -
PRIVILEGE: data is the client's privilege level -
USERNAME: data is the client's username (for guests) -
CANCHAT: data is if the chat bar should be enabled
-
-
data: ?string see type field for how this is used
Location status index names
-
location: int the location index -
display: string how the location should be displayed
Default color hex values
-
identifier: string the identifier for the color -
hex: string the hex code for that color
List of flair so clients can predownload them all
-
icon: string of the flair name
Outgoing chat messages to clients
-
username: string username of sender -
display name: string display name of sender -
destination: string username of destination client; empty if global -
access: int access level of sender -
message: string message contents
Outgoing notifications
-
type: string type of notification -
access: int access level required to see this notification -
username: string username of notification target -
display name: string display name of notification target -
message: ?string message with the notification
User list information
-
type: string can be any of these:-
START: start of userlist -
DONE: end of userlist -
INFO:datais of the format<username> <access> <location> <display name> <color> <flair> <prefix> <suffix>
-
-
data: ?string seetypefor how this is used
Friend list information
-
type: string can be any of these:-
START: start of friend list -
DONE: end of friend list -
NAME:datais of the format<username> <display name>
-
-
data: ?string seetypefor how this is used
Block list information
-
type: string can be any of these:-
START: start of block list -
DONE: end of block list -
INFO:datais of the format<username> <display name>
-
-
data: ?string seetypefor how this is used