Plugin Documentation

PyMasterServer
OnlineSubsystem master-server platform

An OnlineSubsystem implementation that registers a custom master-server platform service (sessions, identity).

v1.0.0
UE 4.27, 5.7 and 5.8
Win64 · Mac · Linux
Category Online Platform
Alpha XP
PyMasterServer diagram
PyMasterServer — architecture & feature overview

Overview

PyMasterServer registers an online subsystem named PyMasterServer that you can select like any platform (Steam, Null, EOS). It talks to a custom master-server over HTTP/sockets for sessions and identity.

Fork note A full rebrand of an OnlineSubsystemPython-style platform: module/classes and the registered platform-service identifier were renamed to PyMasterServer for UE 4.27, 5.7 and 5.8. A Blueprint helper library was added.

Requirements

RequirementDetails
Unreal Engine4.27, 5.7 and 5.8
Engine pluginsOnlineSubsystem, OnlineSubsystemUtils
LanguageBlueprints and/or C++
PlatformsWin64 · Mac · Linux

Installation

  1. Copy the PyMasterServer folder into your project's Plugins/ directory.
  2. C++ projects: regenerate project files and build. Blueprint-only projects can launch the editor directly.
  3. Open Edit → Plugins and confirm PyMasterServer is enabled.

Selecting the subsystem

In your project DefaultEngine.ini:

[OnlineSubsystem]
DefaultPlatformService=PyMasterServer

[OnlineSubsystemPyMasterServer]
bEnabled=true

Set the master-server address on the config object in DefaultGame.ini.

Helpers (PyMasterServer Library)

NodeTypeDescription
Get PyMasterServer AddressPureConfigured master-server address.
Is PyMasterServer ActivePureTrue when it is the active default subsystem.
Is Valid Server AddressPureValidate a host:port address.

Utility node pack

General-purpose networking utilities added to UPyMasterServerLibrary — available from Blueprints and C++.

NodeTypeDescription
CRC32 Of BytesPureCRC32 checksum of a byte array.
MD5 Of String / SHA1 Of StringPureHex digests of a UTF-8 string.
Make Guid StringPureNew random GUID (hyphenated).
Now Unix SecondsPureCurrent UTC time as Unix seconds.
Unix Seconds To ISO8601PureUnix seconds → ISO-8601 UTC string.
Format Byte SizePureHuman-readable size, e.g. 1536 → 1.5 KB.
Random TokenPureRandom alphanumeric token (ids, nonces).
XOR Bytes With KeyPureXOR bytes with a repeating key (obfuscation, not encryption).
Is Valid HostnamePureRFC-952/1123-style hostname validation.

Credits

© Alpha XPalphaxp.net. Developed and maintained for UE 4.27, 5.7 and 5.8.