/// <inheritdoc /> public void Initialize(bool isServer) { if (_initialized) { throw new InvalidOperationException("NetManager has already been initialized."); } IsServer = isServer; _config.RegisterCVar("net.port", 1212, CVar.ARCHIVE); _config.RegisterCVar("net.sendbuffersize", 131071, CVar.ARCHIVE); _config.RegisterCVar("net.receivebuffersize", 131071, CVar.ARCHIVE); _config.RegisterCVar("net.verbose", false, CVar.ARCHIVE, NetVerboseChanged); if (!isServer) { _config.RegisterCVar("net.server", "127.0.0.1", CVar.ARCHIVE); _config.RegisterCVar("net.updaterate", 20, CVar.ARCHIVE); _config.RegisterCVar("net.cmdrate", 30, CVar.ARCHIVE); _config.RegisterCVar("net.rate", 10240, CVar.REPLICATED | CVar.ARCHIVE); } else { // That's comma-separated, btw. _config.RegisterCVar("net.bindto", "0.0.0.0,::", CVar.ARCHIVE); _config.RegisterCVar("net.dualstack", false, CVar.ARCHIVE); } #if DEBUG _config.RegisterCVar("net.fakeloss", 0.0f, CVar.CHEAT, _fakeLossChanged); _config.RegisterCVar("net.fakelagmin", 0.0f, CVar.CHEAT, _fakeLagMinChanged); _config.RegisterCVar("net.fakelagrand", 0.0f, CVar.CHEAT, _fakeLagRandomChanged); _config.RegisterCVar("net.fakeduplicates", 0.0f, CVar.CHEAT, FakeDuplicatesChanged); #endif _strings.Initialize(() => { Logger.InfoS("net", "Message string table loaded."); }, UpdateNetMessageFunctions); _serializer.ClientHandshakeComplete += () => { Logger.InfoS("net", "Client completed serializer handshake."); OnConnected(ServerChannel !); }; _initialized = true; }
/// <inheritdoc /> public void Initialize(bool isServer) { if (_initialized) { throw new InvalidOperationException("NetManager has already been initialized."); } IsServer = isServer; _config.OnValueChanged(CVars.NetVerbose, NetVerboseChanged); if (isServer) { _config.OnValueChanged(CVars.AuthMode, i => Auth = (AuthMode)i, invokeImmediately: true); } #if DEBUG _config.OnValueChanged(CVars.NetFakeLoss, _fakeLossChanged); _config.OnValueChanged(CVars.NetFakeLagMin, _fakeLagMinChanged); _config.OnValueChanged(CVars.NetFakeLagRand, _fakeLagRandomChanged); _config.OnValueChanged(CVars.NetFakeDuplicates, FakeDuplicatesChanged); #endif _strings.Initialize(() => { Logger.InfoS("net", "Message string table loaded."); }, UpdateNetMessageFunctions); _serializer.ClientHandshakeComplete += () => { Logger.InfoS("net", "Client completed serializer handshake."); OnConnected(ServerChannel !); }; _initialized = true; if (IsServer) { SAGenerateRsaKeys(); } }