Remove need to define custom network header in upstream

This commit is contained in:
Evil Factory
2026-02-28 16:47:18 -03:00
parent de73a18637
commit 3192cc8b00
4 changed files with 40 additions and 12 deletions
@@ -18,7 +18,7 @@ partial class NetworkingService : INetworkingService, IEventServerConnected, IEv
public void OnReceivedServerNetMessage(IReadMessage netMessage, ServerPacketHeader serverPacketHeader) public void OnReceivedServerNetMessage(IReadMessage netMessage, ServerPacketHeader serverPacketHeader)
{ {
if (serverPacketHeader != ServerPacketHeader.LUA_NET_MESSAGE) if (serverPacketHeader != ServerHeader)
{ {
return; return;
} }
@@ -46,7 +46,7 @@ partial class NetworkingService : INetworkingService, IEventServerConnected, IEv
if (GameMain.Client == null) { return; } if (GameMain.Client == null) { return; }
WriteOnlyMessage message = new WriteOnlyMessage(); WriteOnlyMessage message = new WriteOnlyMessage();
message.WriteByte((byte)ClientPacketHeader.LUA_NET_MESSAGE); message.WriteByte((byte)ClientHeader);
message.WriteByte((byte)ClientToServer.RequestSync); message.WriteByte((byte)ClientToServer.RequestSync);
GameMain.Client.ClientPeer.Send(message, DeliveryMethod.Reliable); GameMain.Client.ClientPeer.Send(message, DeliveryMethod.Reliable);
} }
@@ -55,7 +55,7 @@ partial class NetworkingService : INetworkingService, IEventServerConnected, IEv
{ {
var message = new WriteOnlyMessage(); var message = new WriteOnlyMessage();
message.WriteByte((byte)ClientPacketHeader.LUA_NET_MESSAGE); message.WriteByte((byte)ClientHeader);
if (idToPacket.ContainsKey(netId)) if (idToPacket.ContainsKey(netId))
{ {
@@ -86,7 +86,7 @@ partial class NetworkingService : INetworkingService, IEventServerConnected, IEv
if (GameMain.Client == null) { return; } if (GameMain.Client == null) { return; }
WriteOnlyMessage message = new WriteOnlyMessage(); WriteOnlyMessage message = new WriteOnlyMessage();
message.WriteByte((byte)ClientPacketHeader.LUA_NET_MESSAGE); message.WriteByte((byte)ClientHeader);
message.WriteByte((byte)ClientToServer.RequestSingleNetId); message.WriteByte((byte)ClientToServer.RequestSingleNetId);
NetId.Write(message, netId); NetId.Write(message, netId);
@@ -19,7 +19,7 @@ partial class NetworkingService : INetworkingService, IEventClientRawNetMessageR
{ {
var message = new WriteOnlyMessage(); var message = new WriteOnlyMessage();
message.WriteByte((byte)ServerPacketHeader.LUA_NET_MESSAGE); message.WriteByte((byte)ServerHeader);
if (idToPacket.ContainsKey(netId)) if (idToPacket.ContainsKey(netId))
{ {
@@ -35,9 +35,9 @@ partial class NetworkingService : INetworkingService, IEventClientRawNetMessageR
return message; return message;
} }
public void OnReceivedClientNetMessage(IReadMessage netMessage, ClientPacketHeader serverPacketHeader, NetworkConnection sender) public void OnReceivedClientNetMessage(IReadMessage netMessage, ClientPacketHeader clientPacketHeader, NetworkConnection sender)
{ {
if (serverPacketHeader != ClientPacketHeader.LUA_NET_MESSAGE) if (clientPacketHeader != ClientHeader)
{ {
return; return;
} }
@@ -134,7 +134,7 @@ partial class NetworkingService : INetworkingService, IEventClientRawNetMessageR
private void WriteIdToAll(ushort packet, NetId netId) private void WriteIdToAll(ushort packet, NetId netId)
{ {
WriteOnlyMessage message = new WriteOnlyMessage(); WriteOnlyMessage message = new WriteOnlyMessage();
message.WriteByte((byte)ServerPacketHeader.LUA_NET_MESSAGE); message.WriteByte((byte)ServerHeader);
message.WriteByte((byte)ServerToClient.ReceiveNetIds); message.WriteByte((byte)ServerToClient.ReceiveNetIds);
message.WriteUInt16(1); message.WriteUInt16(1);
@@ -147,7 +147,7 @@ partial class NetworkingService : INetworkingService, IEventClientRawNetMessageR
private void WriteSync(Client client) private void WriteSync(Client client)
{ {
WriteOnlyMessage message = new WriteOnlyMessage(); WriteOnlyMessage message = new WriteOnlyMessage();
message.WriteByte((byte)ServerPacketHeader.LUA_NET_MESSAGE); message.WriteByte((byte)ServerHeader);
message.WriteByte((byte)ServerToClient.ReceiveNetIds); message.WriteByte((byte)ServerToClient.ReceiveNetIds);
message.WriteUInt16((ushort)packetToId.Count()); message.WriteUInt16((ushort)packetToId.Count());
@@ -6,6 +6,7 @@ using FluentResults;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography; using System.Security.Cryptography;
using System.Text; using System.Text;
@@ -48,6 +49,36 @@ internal partial class NetworkingService : INetworkingService
ReceiveNetIds ReceiveNetIds
} }
private ClientPacketHeader? clientHeader = null;
public ClientPacketHeader ClientHeader
{
get
{
if (clientHeader == null)
{
byte lastHeader = (byte)Enum.GetValues(typeof(ClientPacketHeader)).Cast<ClientPacketHeader>().Last();
clientHeader = (ClientPacketHeader)(lastHeader + 1);
}
return (ClientPacketHeader)clientHeader;
}
}
private ServerPacketHeader? serverHeader = null;
public ServerPacketHeader ServerHeader
{
get
{
if (serverHeader == null)
{
byte lastHeader = (byte)Enum.GetValues(typeof(ServerPacketHeader)).Cast<ServerPacketHeader>().Last();
serverHeader = (ServerPacketHeader)(lastHeader + 1);
}
return (ServerPacketHeader)serverHeader;
}
}
private ConcurrentDictionary<INetworkSyncVar, NetId> netVars = []; private ConcurrentDictionary<INetworkSyncVar, NetId> netVars = [];
@@ -46,7 +46,6 @@ namespace Barotrauma.Networking
TOGGLE_RESERVE_BENCH, TOGGLE_RESERVE_BENCH,
REQUEST_BACKUP_INDICES, // client wants a list of available backups for a save file REQUEST_BACKUP_INDICES, // client wants a list of available backups for a save file
LUA_NET_MESSAGE
} }
enum ClientNetSegment enum ClientNetSegment
@@ -105,8 +104,6 @@ namespace Barotrauma.Networking
UNLOCKRECIPE, //unlocking a fabrication recipe UNLOCKRECIPE, //unlocking a fabrication recipe
SEND_BACKUP_INDICES, // the server sends a list of available backups for a save file SEND_BACKUP_INDICES, // the server sends a list of available backups for a save file
LUA_NET_MESSAGE
} }
enum ServerNetSegment enum ServerNetSegment
{ {