Files
undead-universal-patch-il2cpp/SERVERS.md
2025-09-11 19:54:25 -04:00

2.6 KiB

Server Developers

<-- Back to 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)

Replace existing emotes in the game with these, keyed by UniqueName.
This is mostly a change to VR emotes. See "ContextualEmotesConfig" in the game's assets.

See the source for more information.

API: GET "/api/undead/v1/photon" (after local account response)

Expects: PhotonConfigDTO (to DTO)

The patch uses a Photon configuration given by the server.
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.
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
of your application, e.g. Master when using the port for a default Masterserver.
Voice will go over the same gameserver port as PUN does when selfhosting.

See the source for more information.

API: GET "/api/undead/v1/knowndlls" (post-nameserver)

Expects: List<string>

Add custom DLL filenames to CheatManager.KnownDlls. winhttp.dll is added by default and does not need to be specified by the server. When the server patch is enabled at the same time as the local patch (HilePatch), the local patch will be used as a fallback and will add only winhttp.dll.

See the source for more information.

DTOs

EmoteConfigDTO

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

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; }
}