Files
undead-universal-patch-il2cpp/SERVERS.md
zombieb cef766f23d Update SERVERS.md
add auth mentions
2025-08-20 00:31:56 +00:00

61 lines
2.0 KiB
Markdown

# Server Developers
[<-- Back to README.md](./README.md)
Requests are sent after any of these events:
* Nameserver response
* Authentication response
* Local account fetch response (has auth)
## Endpoints
### `API: GET "/api/undead/v1/emotes"` (after local account response)
Expects: `List<EmoteConfigDTO>` [(to DTO)](#emoteconfigdto)
Replace existing emotes in the game with these, keyed by `UniqueName`.
See [the source](./Core/Content/CustomRecNet/CustomEmotes/RecNetEmotes.cs) for more information.
### `API: GET "/api/undead/v1/photon"` (after local account response)
Expects: `PhotonConfigDTO` [(to DTO)](#photonconfigdto)
The patch uses a Photon configuration given by the server.<br>
When this fails, the patch will fall back to the local config, if enabled.
`ConnectionProtocol` is 0 for UDP, or 1 for TCP. Use UDP if you don't know what to use.<br>
`ServerAddress`, `ServerPort`, and `ConnectionProtocol` are ignored when `SelfHosted` is enabled.
When using a self-hosted server, ideally, you should set the `AppID` *and* `VoiceAppID` to the name<br>
of your application, e.g. Master when using the port for a default Masterserver.<br>
Voice will go over the same gameserver port as PUN does when selfhosting.
See [the source](./Core/Content/CustomRecNet/CustomPhoton/CustomPhoton.cs) for more information.
## DTOs
### `EmoteConfigDTO`
```c#
public class EmoteConfigDTO
{
public string UniqueName { get; set; }
public string NewText { get; set; }
public string RoomChatText { get; set; }
public string FacialExpression { get; set; }
public bool ForceEmoteBubble { get; set; }
public bool OnlyBroadcastToTeam { get; set; }
}
```
### `PhotonConfigDTO`
```c#
public class PhotonConfigDTO
{
public bool Logging { get; set; }
public string AppID { get; set; }
public string VoiceAppID { get; set; }
public bool SelfHosted { get; set; }
public string ServerAddress { get; set; }
public int ServerPort { get; set; }
public byte ConnectionProtocol { get; set; }
}
```