private void OnMessageReceived(object sender, MessageReceivedEventArgs e) { using (Message message = e.GetMessage() as Message) { NetworkTags tag = (NetworkTags)message.Tag; if (!tag.ToString().StartsWith("DEBT_")) { return; } Logger.Trace($"[SERVER] < {tag}"); switch (tag) { case NetworkTags.DEBT_LOCO_PAID: Logger.Trace($"[SERVER] > DEBT_LOCO_PAID"); ReliableSendToOthers(message, e.Client); break; case NetworkTags.DEBT_JOB_PAID: Logger.Trace($"[SERVER] > DEBT_JOB_PAID"); ReliableSendToOthers(message, e.Client); break; case NetworkTags.DEBT_OTHER_PAID: Logger.Trace($"[SERVER] > DEBT_OTHER_PAID"); ReliableSendToOthers(message, e.Client); break; } } }
public void OnNetworkReceive(NetPeer peer, NetDataReader reader) { try { if (reader.Data == null) { return; } NetworkTags networkTag = (NetworkTags)reader.GetInt(); if (networkTag == NetworkTags.PlayerPosition) { float x = reader.GetFloat(); float y = reader.GetFloat(); float z = reader.GetFloat(); Console.WriteLine($"Got position packet : {x} | {y} | {z}"); networkPlayersDictionary[peer.ConnectId].X = x; networkPlayersDictionary[peer.ConnectId].Y = y; networkPlayersDictionary[peer.ConnectId].Z = z; networkPlayersDictionary[peer.ConnectId].Moved = true; } } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); } }
void INetEventListener.OnNetworkReceive(NetPeer _netPeer, NetPacketReader _netPacketReader, DeliveryMethod deliveryMethod) { //_Processor.ReadAllPackets(_netPacketReader, _netPeer); try { if (_netPacketReader.IsNull) { Console.WriteLine($"OnNetworkReceive <==== _netPacketReader.== null== null== null== null:"); return; } NetworkTags networkTag = (NetworkTags)_netPacketReader.GetInt(); if (networkTag == NetworkTags.Player_Position) { float x = _netPacketReader.GetFloat(); float y = _netPacketReader.GetFloat(); float z = _netPacketReader.GetFloat(); Console.WriteLine($"OnNetworkReceive <== UPDATE ID {_netPeer.Id} Tags.{networkTag}: {x} | {y} | {z}"); _dictionary_Server_Player[_netPeer.Id].X = x; _dictionary_Server_Player[_netPeer.Id].Y = y; _dictionary_Server_Player[_netPeer.Id].Z = z; _dictionary_Server_Player[_netPeer.Id].Moved = true; } } catch (Exception ex) { Console.WriteLine($"OnNetworkReceive Error: {ex.Message}"); } }
void INetEventListener.OnNetworkReceive(NetPeer peer, NetPacketReader reader, DeliveryMethod delMethod) { if (reader.RawData == null) { return; } Debug.Log("Client || OnNetworkReceive: " + reader.RawData.Length); if (reader.RawData.Length >= 4) { NetworkTags netTag = (NetworkTags)reader.GetInt(); if (netTag == NetworkTags.PlayerPositionsArray) { int lengthArray = (reader.RawData.Length - 4) / (sizeof(long) + sizeof(float) * 3); Debug.Log("Client || Positions array data num: " + lengthArray); for (int i = 0; i < lengthArray; i++) { long playerId = reader.GetLong(); if (!netDictionary.ContainsKey(playerId)) { netDictionary.Add(playerId, new NetPlayer()); } netDictionary[playerId].Z = reader.GetFloat(); } } } }
private void SendDelayedMessage(bool item, NetworkTags tag, IClient client, int interval, Action callback = null) { if (interval == 0) { using (DarkRiftWriter writer = DarkRiftWriter.Create()) { writer.Write(item); using (Message msg = Message.Create((ushort)tag, writer)) { client.SendMessage(msg, SendMode.Reliable); } } callback?.Invoke(); } else { Timer timer = new Timer(); timer.Elapsed += (object sender, ElapsedEventArgs e) => { using (DarkRiftWriter writer = DarkRiftWriter.Create()) { writer.Write(item); using (Message msg = Message.Create((ushort)tag, writer)) { client.SendMessage(msg, SendMode.Reliable); } } callback?.Invoke(); }; timer.Interval = interval; timer.AutoReset = false; timer.Start(); } }
private void OnMessageReceived(object sender, MessageReceivedEventArgs e) { using (Message message = e.GetMessage() as Message) { NetworkTags tag = (NetworkTags)message.Tag; if (!tag.ToString().StartsWith("SWITCH_")) { return; } Logger.Trace($"[SERVER] < {tag}"); switch (tag) { case NetworkTags.SWITCH_CHANGED: UpdateSwitch(message, e.Client); break; case NetworkTags.SWITCH_SYNC: SyncSwitchStatesWithClient(e.Client); break; case NetworkTags.SWITCH_HOST_SYNC: SyncHostSwitches(message); break; } } }
public void OnNetworkReceive(NetPeer peer, NetDataReader reader) { if (reader.Data == null) { return; } Debug.Log($"OnNetworkReceive: {reader.Data.Length}"); if (reader.Data.Length >= 4) { NetworkTags networkTag = (NetworkTags)reader.GetInt(); if (networkTag == NetworkTags.PlayerPositionsArray) { int lengthArr = (reader.Data.Length - 4) / (sizeof(long) + sizeof(float) * 3); Debug.Log("Got positions array data num : " + lengthArr); for (int i = 0; i < lengthArr; i++) { long playerid = reader.GetLong(); if (!netPlayersDictionary.ContainsKey(playerid)) { netPlayersDictionary.Add(playerid, new NetPlayer()); } netPlayersDictionary[playerid].X = reader.GetFloat(); netPlayersDictionary[playerid].Y = reader.GetFloat(); netPlayersDictionary[playerid].Z = reader.GetFloat(); } } } }
public void OnNetworkReceive(NetPeer _netPeer, NetDataReader _netDataReader) { try { if (_netDataReader.Data == null) { return; } NetworkTags networkTag = (NetworkTags)_netDataReader.GetInt(); if (networkTag == NetworkTags.NT_S_Receiv_Player_Position) { float x = _netDataReader.GetFloat(); float y = _netDataReader.GetFloat(); float z = _netDataReader.GetFloat(); Console.WriteLine($"netPeer.ConnectId --> {_netPeer.ConnectId} Got pos packet : {x} | {y} | {z} "); _dictionary_Server_Players_Pose[_netPeer.ConnectId].X = x; _dictionary_Server_Players_Pose[_netPeer.ConnectId].Y = y; _dictionary_Server_Players_Pose[_netPeer.ConnectId].Z = z; _dictionary_Server_Players_Pose[_netPeer.ConnectId].Moved = true; } } catch (Exception ex) { Console.WriteLine($"OnNetworkReceive Error: {ex.Message}"); } }
private void MessageReceived(object sender, MessageReceivedEventArgs e) { using (Message message = e.GetMessage() as Message) { NetworkTags tag = (NetworkTags)message.Tag; if (!tag.ToString().StartsWith("PLAYER_")) { return; } if (tag != NetworkTags.PLAYER_LOCATION_UPDATE) { Logger.Trace($"[SERVER] < {tag.ToString()}"); } switch (tag) { case NetworkTags.PLAYER_LOCATION_UPDATE: LocationUpdateMessage(message, e.Client); break; case NetworkTags.PLAYER_INIT: ServerPlayerInitializer(message, e.Client); break; case NetworkTags.PLAYER_SPAWN_SET: SetSpawn(message); break; case NetworkTags.PLAYER_LOADED: SetPlayerLoaded(message, e.Client); break; } } }
private void OnMessageReceived(object sender, MessageReceivedEventArgs e) { using (Message message = e.GetMessage() as Message) { NetworkTags tag = (NetworkTags)message.Tag; if (!tag.ToString().StartsWith("JOB_")) { return; } Logger.Trace($"[SERVER] < {tag}"); switch (tag) { case NetworkTags.JOB_CREATED: OnJobCreated(message, e.Client); break; case NetworkTags.JOB_SYNC: SendAllServerJobs(e.Client); break; case NetworkTags.JOB_HOST_SYNC: UpdateServerJobs(message); break; case NetworkTags.JOB_TAKEN: OnJobTaken(message, e.Client); break; case NetworkTags.JOB_COMPLETED: OnJobCompleted(message, e.Client); break; case NetworkTags.JOB_CHAIN_COMPLETED: OnJobChainCompleted(message, e.Client); break; case NetworkTags.JOB_CHAIN_EXPIRED: OnJobChainExpired(message, e.Client); break; case NetworkTags.JOB_NEXT_JOB: OnNextJobInChainGenerated(message, e.Client); break; case NetworkTags.JOB_CHAIN_CHANGED: OnChainDataChanged(message); break; case NetworkTags.JOB_STATION_EXPIRATION: Logger.Trace("[SERVER] > JOB_STATION_EXPIRATION"); ReliableSendToOthers(message, e.Client); break; } } }
public void OnNetworkReceive(NetPeer peer, NetPacketReader reader, DeliveryMethod deliveryMethod) { if (reader.RawData == null) { return; } if (reader.RawData.Length >= 4) { NetworkTags networkTag = (NetworkTags)reader.GetInt(); if (networkTag == NetworkTags.StartGame) { Debug.Log("[CLIENT] StartGame resieved"); ball.gameObject.SetActive(true); if (id == 0) { Destroy(ball.GetComponent <Ball>()); } } else if (networkTag == NetworkTags.PlayerPositionsArray) { int lengthArr = (reader.RawData.Length - 4) / (sizeof(long) + sizeof(float) * 3); Debug.Log("Got positions array data num : " + lengthArr); for (int i = 0; i < lengthArr; i++) { long playerid = reader.GetLong(); if (!netPlayersDictionary.ContainsKey(playerid)) { netPlayersDictionary.Add(playerid, new NetPlayer()); id = (int)playerid; } netPlayersDictionary[playerid].X = reader.GetFloat(); netPlayersDictionary[playerid].Y = reader.GetFloat(); netPlayersDictionary[playerid].Z = reader.GetFloat(); } } else if (networkTag == NetworkTags.BallPosition) { float x = reader.GetFloat(); float y = reader.GetFloat(); float z = reader.GetFloat(); ball.transform.position = new Vector3(x, y, z); } } }
public void OnNetworkReceive(NetPeer peer, NetPacketReader reader, DeliveryMethod deliveryMethod) { if (reader.RawData == null) { return; } NetworkTags networkTag = (NetworkTags)reader.GetInt(); if (networkTag == NetworkTags.PlayerPosition) { float x = reader.GetFloat(); float y = reader.GetFloat(); float z = reader.GetFloat(); Debug.Log("Got position packet : " + x + " " + y + " " + z); playersDictionary[peer.Id].X = x; playersDictionary[peer.Id].Y = y; playersDictionary[peer.Id].Z = z; playersDictionary[peer.Id].Moved = true; } if (networkTag == NetworkTags.BallPosition) { float x = reader.GetFloat(); float y = reader.GetFloat(); float z = reader.GetFloat(); NetDataWriter writer = new NetDataWriter(); writer.Reset(); writer.Put((int)networkTag); writer.Put(x); writer.Put(y); writer.Put(z); foreach (var player in playersDictionary) { if (player.Key == 1) { player.Value.NetPeer.Send(writer, DeliveryMethod.ReliableOrdered); } } } }
private void OnMessageReceived(object sender, MessageReceivedEventArgs e) { using (Message message = e.GetMessage() as Message) { NetworkTags tag = (NetworkTags)message.Tag; if (!tag.ToString().StartsWith("TURNTABLE_")) { return; } Logger.Trace($"[SERVER] < {tag.ToString()}"); switch (tag) { case NetworkTags.TURNTABLE_ANGLE_CHANGED: OnTurntableChanged(message, e.Client); break; case NetworkTags.TURNTABLE_SYNC: SendAllTurntableStates(e.Client); break; case NetworkTags.TURNTABLE_SNAP: OnTurntableSnap(message, e.Client); break; case NetworkTags.TURNTABLE_AUTH_RELEASE: OnTurntableReleaseAuth(message, e.Client); break; case NetworkTags.TURNTABLE_AUTH_REQUEST: OnTurntableRequestAuth(message, e.Client); break; case NetworkTags.TURNTABLE_HOST_SYNC: SyncHostTurntables(message); break; } } }
public void OnNetworkReceive(NetPeer _netPeer, NetDataReader _netDataReader) { try { if (_netDataReader.Data == null) { return; } NetworkTags networkTag = (NetworkTags)_netDataReader.GetInt(); if (networkTag == NetworkTags.NT_S_Receiv_Player_Position) { var bytes = new byte[_netDataReader.Data.Length - sizeof(int)]; _netDataReader.GetBytes(bytes, bytes.Length); _dictionary_Server_Players_Pose[_netPeer.ConnectId].Bytes = bytes; } } catch (Exception ex) { Console.WriteLine($"OnNetworkReceive Error: {ex.Message}"); } }
public void OnNetworkReceive(NetPeer peer, NetPacketReader reader, DeliveryMethod deliveryMethod) { if (reader.IsNull) { return; } // Debug.Log($" <--------------------- OnNetworkReceive: {reader.AvailableBytes}"); if (reader.AvailableBytes >= 4) { NetworkTags networkTag = (NetworkTags)reader.GetInt(); if (networkTag == NetworkTags.N_Players_Moved_Array) { int Nb_de_player = reader.GetInt(); // int Nb_de_player_O = (reader.AvailableBytes - 4) / (sizeof(long) + sizeof(float) * 3);//pour info Debug.Log($" <--------------------- OnNetworkReceive - FOUND NetworkTags.{networkTag} Total player MOVED = { Nb_de_player} ");// ORIGINAL CODE = { Nb_de_player_O}"); if (!player_spown_decalage && (0 < Nb_de_player)) { Vector3 new_Local_player_pose = new Vector3(player.transform.position.x + (1.5f * Nb_de_player), player.transform.position.y, player.transform.position.z); player.transform.position = new_Local_player_pose; Debug.Log($" <--------------------- OnNetworkReceive - ---------------> Decalage Player POSE {player.transform.position.x + (2f * Nb_de_player)} | {player.transform.position.y} | { player.transform.position.z}"); player_spown_decalage = true; OnPeerConnected_ok = true; } for (int i = 0; i < Nb_de_player; i++) { int playerid = reader.GetInt(); if (!Dictionary_NetPlayer.ContainsKey(playerid)) { Dictionary_NetPlayer.Add(playerid, new NetPlayer()); Debug.Log($" <--------------------- OnNetworkReceive CREAT NEW Dictionary_NetPlayer.Add ---> SERVER netpeer.id = " + playerid); } //Get online player MOVED inputs // // // // // // Dictionary_NetPlayer[playerid].X = reader.GetFloat(); Dictionary_NetPlayer[playerid].Y = reader.GetFloat(); Dictionary_NetPlayer[playerid].Z = reader.GetFloat(); Debug.Log($" <--------------------- OnNetworkReceive UPDATE Dictionary_NetPlayer SERVER Playerid = SERVER netpeer.id = {playerid} POSE = " + $" X = { Dictionary_NetPlayer[playerid].X } Y = { Dictionary_NetPlayer[playerid].Y} Z = { Dictionary_NetPlayer[playerid].Z}"); // // // // // // // // // } } else if (networkTag == NetworkTags.No_Player_Online) { Debug.Log($" <--------------------- OnNetworkReceive: {NetworkTags.No_Player_Online} player_spown_decalage ANULLER OK AvailableBytes = {reader.AvailableBytes}"); player_spown_decalage = true; OnPeerConnected_ok = true; } else if (networkTag == NetworkTags.On_Player_Disconected) { int Disconnected_netPeer_Id = reader.GetInt(); Debug.Log($" <--------------------- OnNetworkReceive: {NetworkTags.On_Player_Disconected} ID = {Disconnected_netPeer_Id} "); if (Dictionary_NetPlayer.ContainsKey(Disconnected_netPeer_Id)) { Destroy(Dictionary_NetPlayer[Disconnected_netPeer_Id].GameObject); Dictionary_NetPlayer.Remove(Disconnected_netPeer_Id); Debug.Log($" <--------------------- OnNetworkReceive: {NetworkTags.On_Player_Disconected} SUPRESION Disconected Player ID = {Disconnected_netPeer_Id}"); } } } }
private void OnMessageReceived(object sender, MessageReceivedEventArgs e) { using (Message message = e.GetMessage() as Message) { NetworkTags tag = (NetworkTags)message.Tag; if (!tag.ToString().StartsWith("TRAIN")) { return; } if (tag != NetworkTags.TRAIN_LOCATION_UPDATE) { Logger.Trace($"[SERVER] < {tag}"); } switch (tag) { case NetworkTags.TRAIN_LEVER: UpdateTrainLever(message, e.Client); break; case NetworkTags.TRAIN_RERAIL: UpdateTrainRerail(message, e.Client); break; case NetworkTags.TRAIN_DERAIL: UpdateTrainDerailed(message, e.Client); break; case NetworkTags.TRAIN_SWITCH: UpdateTrainSwitch(message, e.Client); break; case NetworkTags.TRAIN_COUPLE: UpdateCouplingState(message, e.Client, true); break; case NetworkTags.TRAIN_UNCOUPLE: UpdateCouplingState(message, e.Client, false); break; case NetworkTags.TRAIN_COUPLE_HOSE: UpdateCoupledHoseState(message, e.Client); break; case NetworkTags.TRAIN_COUPLE_COCK: UpdateCoupleCockState(message, e.Client); break; case NetworkTags.TRAIN_SYNC_ALL: SendWorldTrains(e.Client); break; case NetworkTags.TRAIN_HOST_SYNC: SyncTrainDataFromHost(message); break; case NetworkTags.TRAIN_LOCATION_UPDATE: UpdateTrainPosition(message, e.Client); break; case NetworkTags.TRAINS_INIT: NewTrainsInitialized(message, e.Client); break; case NetworkTags.TRAINS_INIT_FINISHED: TrainsFinishedInitilizing(e.Client); break; case NetworkTags.TRAIN_REMOVAL: OnCarRemovalMessage(message, e.Client); break; case NetworkTags.TRAIN_DAMAGE: OnCarDamage(message, e.Client); break; case NetworkTags.TRAIN_AUTH_CHANGE: OnAuthChange(message); break; case NetworkTags.TRAIN_CARGO_CHANGE: OnCargoChange(message, e.Client); break; case NetworkTags.TRAIN_MU_CHANGE: OnCarMUChange(message, e.Client); break; } } }