61 lines
2.0 KiB
Markdown
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; }
|
|
}
|
|
``` |