diff --git a/Content.Client/EscapeMenu/UI/Tabs/NetworkTab.xaml b/Content.Client/EscapeMenu/UI/Tabs/NetworkTab.xaml
index 7d2741ab14..1b530fba8e 100644
--- a/Content.Client/EscapeMenu/UI/Tabs/NetworkTab.xaml
+++ b/Content.Client/EscapeMenu/UI/Tabs/NetworkTab.xaml
@@ -8,7 +8,7 @@
();
var cEntityManager = client.ResolveDependency();
var sGameTiming = server.ResolveDependency();
- var cGameTiming = client.ResolveDependency();
+ var cGameTiming = client.ResolveDependency();
var cGameStateManager = client.ResolveDependency();
+ var cfg = client.ResolveDependency();
+ var log = cfg.GetCVar(CVars.NetLogging);
+
+ //cfg.SetCVar(CVars.NetLogging, true);
EntityUid serverEnt = default;
PredictionTestComponent serverComponent = default!;
@@ -72,14 +79,12 @@ namespace Content.IntegrationTests.Tests.Networking
// Run some ticks so that
await PoolManager.RunTicksSync(pairTracker.Pair, 3);
- // Due to technical things with the game state processor it has an extra state in the buffer here.
- // This burns through it real quick, but I'm not sure it should be there?
- // Under normal operation (read: not integration test) this gets corrected for via tick time adjustment,
- // so it's probably not an issue?
- await client.WaitRunTicks(1);
+ // Check client buffer is full
+ Assert.That(cGameStateManager.CurrentBufferSize, Is.EqualTo(cGameStateManager.TargetBufferSize));
- // 2 is target buffer size.
- Assert.That(cGameStateManager.CurrentBufferSize, Is.EqualTo(2));
+ // This isn't required anymore, but the test had this for the sake of "technical things", and I cbf shifting
+ // all the tick times over. So it stays.
+ await client.WaitRunTicks(1);
await client.WaitPost(() =>
{
@@ -97,7 +102,7 @@ namespace Content.IntegrationTests.Tests.Networking
// Client last ran tick 15 meaning it's ahead of the last server tick it processed (12)
Assert.That(cGameTiming.CurTick, Is.EqualTo(new GameTick(16)));
- Assert.That(cGameStateManager.CurServerTick, Is.EqualTo(new GameTick(12)));
+ Assert.That(cGameTiming.LastProcessedTick, Is.EqualTo(new GameTick(12)));
// *** I am using block scopes to visually distinguish these sections of the test to make it more readable.
@@ -173,7 +178,7 @@ namespace Content.IntegrationTests.Tests.Networking
// Assert timing is still correct, should be but it's a good reference for the rest of the test.
Assert.That(sGameTiming.CurTick, Is.EqualTo(new GameTick(18)));
Assert.That(cGameTiming.CurTick, Is.EqualTo(new GameTick(20)));
- Assert.That(cGameStateManager.CurServerTick, Is.EqualTo(new GameTick(16)));
+ Assert.That(cGameTiming.LastProcessedTick, Is.EqualTo(new GameTick(16)));
{
// Send event to server to change flag again, this time to disable it..
@@ -244,7 +249,7 @@ namespace Content.IntegrationTests.Tests.Networking
// Assert timing is still correct.
Assert.That(sGameTiming.CurTick, Is.EqualTo(new GameTick(22)));
Assert.That(cGameTiming.CurTick, Is.EqualTo(new GameTick(24)));
- Assert.That(cGameStateManager.CurServerTick, Is.EqualTo(new GameTick(20)));
+ Assert.That(cGameTiming.LastProcessedTick, Is.EqualTo(new GameTick(20)));
{
// Send first event to disable the flag (reminder: it never got accepted by the server).
@@ -359,6 +364,8 @@ namespace Content.IntegrationTests.Tests.Networking
Assert.That(clientComponent.Foo, Is.True);
}
}
+
+ cfg.SetCVar(CVars.NetLogging, log);
await pairTracker.CleanReturnAsync();
}
diff --git a/Content.Shared/Entry/EntryPoint.cs b/Content.Shared/Entry/EntryPoint.cs
index 5d391ae9e2..e22b4b884f 100644
--- a/Content.Shared/Entry/EntryPoint.cs
+++ b/Content.Shared/Entry/EntryPoint.cs
@@ -40,7 +40,7 @@ namespace Content.Shared.Entry
var configMan = IoCManager.Resolve();
#if FULL_RELEASE
- configMan.OverrideDefault(CVars.NetInterpRatio, 2);
+ configMan.OverrideDefault(CVars.NetBufferSize, 2);
#else
configMan.OverrideDefault(CVars.NetFakeLagMin, 0.075f);
configMan.OverrideDefault(CVars.NetFakeLoss, 0.005f);
diff --git a/Resources/Locale/en-US/escape-menu/ui/options-menu.ftl b/Resources/Locale/en-US/escape-menu/ui/options-menu.ftl
index 0902186943..1ebbd51992 100644
--- a/Resources/Locale/en-US/escape-menu/ui/options-menu.ftl
+++ b/Resources/Locale/en-US/escape-menu/ui/options-menu.ftl
@@ -169,4 +169,8 @@ ui-options-function-shuttle-brake = Brake
## Network menu
-ui-options-net-interp-ratio = Network Smoothing
+ui-options-net-interp-ratio = State buffer size
+ui-options-net-interp-ratio-tooltip = Increasing this will generally make the game
+ more resistant to packet-loss, however in doing
+ so it effectively adds slightly more latency and
+ requires the client to predict more future ticks.
diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml
index 5dfb21d0da..b497f5a26e 100644
--- a/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml
+++ b/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml
@@ -130,7 +130,6 @@
- type: Construction
graph: LeverGraph
node: LeverNode
- - type: Fixtures
- type: SignalTransmitter
outputs:
Left: []