group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
NetworkConfig.hpp
Go to the documentation of this file.
1
3
4#pragma once
5
6#include <cstdint>
7#include <string>
8
11{
12 std::string host = "127.0.0.1";
13 uint16_t port = 9999;
14};
15
48{
53 int snapshotHz = 128;
54};
55
63{
67 bool useUdpSessions = true;
68
73
76 bool forceRelay = false;
77
83 bool noRelay = true;
84
89 bool enableUdpSidecar = true;
90
94 bool inputsOverUdp = true;
95
99 bool pingOverUdp = true;
100
108 bool snapshotsOverUdp = true;
109
116 bool eventsOverUdp = true;
117};
118
121{
122 bool enabled = true;
123 bool advertiseServer = true;
125 uint16_t lanBroadcastPort = 2311;
126 std::string directoryHost = "cse125.ucsd.edu";
127 uint16_t directoryTcpPort = 10080;
128 uint16_t directoryUdpPort = 10081;
129 std::string serverName = "Server";
130 uint8_t maxPlayers = 8;
134};
135
148
157[[nodiscard]] NetworkConfig loadNetworkConfig(const char* path);
NetworkConfig loadNetworkConfig(const char *path)
Load network config from a TOML file.
Definition NetworkConfig.cpp:12
Global server browser / directory-service settings.
Definition NetworkConfig.hpp:121
int relayFallbackDelayMs
Start relay if direct route has not validated within this window.
Definition NetworkConfig.hpp:133
bool advertiseServer
Initial server publishing state for the global directory.
Definition NetworkConfig.hpp:123
uint16_t directoryTcpPort
Legacy directory TCP API port.
Definition NetworkConfig.hpp:127
std::string serverName
Name advertised by local servers.
Definition NetworkConfig.hpp:129
bool lanBroadcastEnabled
Initial server response state for LAN discovery requests.
Definition NetworkConfig.hpp:124
uint8_t maxPlayers
Default capacity advertised by servers and enforced on hosted sessions.
Definition NetworkConfig.hpp:130
bool enabled
Client browser and server publishing toggle.
Definition NetworkConfig.hpp:122
uint16_t directoryUdpPort
UDP directory/relay port.
Definition NetworkConfig.hpp:128
uint16_t lanBroadcastPort
Definition NetworkConfig.hpp:125
int connectPunchTimeoutMs
UDP punch-assist window before a direct join attempt.
Definition NetworkConfig.hpp:132
int refreshSeconds
Client browser refresh cadence.
Definition NetworkConfig.hpp:131
std::string directoryHost
Central directory host.
Definition NetworkConfig.hpp:126
Network address parameters.
Definition NetworkConfig.hpp:11
std::string host
Definition NetworkConfig.hpp:12
uint16_t port
Definition NetworkConfig.hpp:13
Runtime network connection parameters.
Definition NetworkConfig.hpp:141
GlobalDiscoveryConfig discovery
Global server browser and NAT assist.
Definition NetworkConfig.hpp:146
NetworkAddress clientNetwork
Client network config (host and port).
Definition NetworkConfig.hpp:142
NetworkAddress serverNetwork
Server network config (host and port).
Definition NetworkConfig.hpp:143
TransportConfig transport
Phase 3d: UDP transport sub-feature toggles.
Definition NetworkConfig.hpp:145
ServerReplicationConfig serverRep
Server-side replication tuning.
Definition NetworkConfig.hpp:144
Server-side replication tuning parameters.
Definition NetworkConfig.hpp:48
int snapshotHz
How often the server emits a registry snapshot.
Definition NetworkConfig.hpp:53
Phase 3d: per-feature toggles for the UDP transport rollout.
Definition NetworkConfig.hpp:63
bool enableUdpSidecar
Stage 3d-1: bind a UDP datagram socket alongside the TCP socket.
Definition NetworkConfig.hpp:89
bool noRelay
Disable directory relay routing for gameplay sessions.
Definition NetworkConfig.hpp:83
bool eventsOverUdp
Stage 3d-5: route KILL_EVENT, PARTICLE_SPAWN, and MATCH_STATE through a reliable-style UDP channel in...
Definition NetworkConfig.hpp:116
bool forceRelay
Prefer the relay route even when direct is available.
Definition NetworkConfig.hpp:76
bool allowLegacyTcpFallback
Temporary staged-cutover fallback.
Definition NetworkConfig.hpp:72
bool snapshotsOverUdp
Stage 3d-4: route UPDATE_REGISTRY snapshots over UDP instead of TCP.
Definition NetworkConfig.hpp:108
bool useUdpSessions
UDP-first session transport.
Definition NetworkConfig.hpp:67
bool inputsOverUdp
Stage 3d-2: send INPUT packets over UDP instead of TCP.
Definition NetworkConfig.hpp:94
bool pingOverUdp
Stage 3d-3: send PING (client→server) and PONG (server→client) over UDP for accurate RTT measurement ...
Definition NetworkConfig.hpp:99