public void Connect(string ip, int port) { serverIp = ip; serverPort = port; clientSocket = new WebSocket($"ws://{ip}:{port}/socket"); clientSocket.OnOpen += ClientSocket_OnOpen; clientSocket.OnClose += ClientSocket_OnClose; clientSocket.OnMessage += ClientSocket_OnMessage; PacketProcessor = new NetPacketProcessor(); #if DEBUG PacketProcessor.SimulateLatency = true; #endif PacketUtils.RegisterAllPacketNestedTypes(PacketProcessor); PacketUtils.RegisterAllPacketProcessorsInCallingAssembly(PacketProcessor); clientSocket.Connect(); SimulatedWorld.Initialize(); LocalPlayer.IsMasterClient = false; LocalPlayer.SetNetworkProvider(this); }
public void StartServer(int port, bool loadSaveFile = false) { PlayerManager = new PlayerManager(); if (loadSaveFile) { SaveManager.LoadServerData(); } SaveManager.SaveOnExit = true; PacketProcessor = new NetPacketProcessor(); StatisticsManager = new StatisticsManager(); #if DEBUG PacketProcessor.SimulateLatency = true; #endif PacketUtils.RegisterAllPacketNestedTypes(PacketProcessor); PacketUtils.RegisterAllPacketProcessorsInCallingAssembly(PacketProcessor); socketServer = new WebSocketServer(port); socketServer.AddWebSocketService("/socket", () => new WebSocketService(PlayerManager, PacketProcessor)); socketServer.Start(); SimulatedWorld.Initialize(); LocalPlayer.SetNetworkProvider(this); LocalPlayer.IsMasterClient = true; // TODO: Load saved player info here LocalPlayer.SetPlayerData(new PlayerData(PlayerManager.GetNextAvailablePlayerId(), GameMain.localPlanet?.id ?? -1, new Float3(1.0f, 0.6846404f, 0.243137181f))); }
private void ConnectInternal() { LocalPlayer.TryLoadGalacticScale2(); clientSocket = new WebSocket(socketAddress); clientSocket.OnOpen += ClientSocket_OnOpen; clientSocket.OnClose += ClientSocket_OnClose; clientSocket.OnMessage += ClientSocket_OnMessage; PacketProcessor = new NetPacketProcessor(); #if DEBUG PacketProcessor.SimulateLatency = true; #endif PacketUtils.RegisterAllPacketNestedTypes(PacketProcessor); PacketUtils.RegisterAllPacketProcessorsInCallingAssembly(PacketProcessor); clientSocket.Connect(); SimulatedWorld.Initialize(); LocalPlayer.IsMasterClient = false; LocalPlayer.SetNetworkProvider(this); if (Config.Options.RememberLastIP) { // We've successfully connected, set connection as last ip, cutting out "ws://" and "/socket" Config.Options.LastIP = socketAddress.Substring(5, socketAddress.Length - 12); Config.SaveOptions(); } }
public void StartServer(int port) { EventBasedNetListener listener = new EventBasedNetListener(); listener.ConnectionRequestEvent += OnConnectionRequest; listener.PeerConnectedEvent += OnPeerConnected; listener.PeerDisconnectedEvent += OnPeerDisconnected; listener.NetworkReceiveEvent += OnNetworkReceive; server = new NetManager(listener) { AutoRecycle = true, #if DEBUG SimulateLatency = true, SimulatePacketLoss = true, SimulationMinLatency = 50, SimulationMaxLatency = 100, #endif }; PlayerManager = new PlayerManager(); PacketProcessor = new NetPacketProcessor(); LiteNetLibUtils.RegisterAllPacketNestedTypes(PacketProcessor); LiteNetLibUtils.RegisterAllPacketProcessorsInCallingAssembly(PacketProcessor); server.Start(port); SimulatedWorld.Initialize(); LocalPlayer.SetNetworkProvider(this); LocalPlayer.IsMasterClient = true; // TODO: Load saved player info here LocalPlayer.SetPlayerData(new PlayerData(PlayerManager.GetNextAvailablePlayerId(), new Float3(1.0f, 0.6846404f, 0.243137181f))); }
public void Connect(string ip, int port) { serverIp = ip; serverPort = port; EventBasedNetListener listener = new EventBasedNetListener(); listener.PeerConnectedEvent += OnPeerConnected; listener.PeerDisconnectedEvent += OnPeerDisconnected; listener.NetworkReceiveEvent += OnNetworkReceive; client = new NetManager(listener) { AutoRecycle = true, }; PacketProcessor = new NetPacketProcessor(); LiteNetLibUtils.RegisterAllPacketNestedTypes(PacketProcessor); LiteNetLibUtils.RegisterAllPacketProcessorsInCallingAssembly(PacketProcessor); client.Start(); client.Connect(ip, port, "nebula"); SimulatedWorld.Initialize(); LocalPlayer.IsMasterClient = false; LocalPlayer.SetNetworkProvider(this); }
private void ConnectInternal() { clientSocket = new WebSocket(socketAddress); clientSocket.OnOpen += ClientSocket_OnOpen; clientSocket.OnClose += ClientSocket_OnClose; clientSocket.OnMessage += ClientSocket_OnMessage; PacketProcessor = new NetPacketProcessor(); #if DEBUG PacketProcessor.SimulateLatency = true; #endif PacketUtils.RegisterAllPacketNestedTypes(PacketProcessor); PacketUtils.RegisterAllPacketProcessorsInCallingAssembly(PacketProcessor); clientSocket.Connect(); SimulatedWorld.Initialize(); LocalPlayer.IsMasterClient = false; LocalPlayer.SetNetworkProvider(this); }
public void StartServer(int port, bool loadSaveFile = false) { PlayerManager = new PlayerManager(); if (loadSaveFile) { SaveManager.LoadServerData(); } PacketProcessor = new NetPacketProcessor(); StatisticsManager = new StatisticsManager(); #if DEBUG PacketProcessor.SimulateLatency = true; #endif PacketUtils.RegisterAllPacketNestedTypes(PacketProcessor); PacketUtils.RegisterAllPacketProcessorsInCallingAssembly(PacketProcessor, true); socketServer = new WebSocketServer(System.Net.IPAddress.IPv6Any, port); DisableNagleAlgorithm(socketServer); socketServer.AddWebSocketService("/socket", () => new WebSocketService(PlayerManager, PacketProcessor)); LocalPlayer.TryLoadGalacticScale2(); socketServer.Start(); SimulatedWorld.Initialize(); LocalPlayer.SetNetworkProvider(this); LocalPlayer.IsMasterClient = true; // TODO: Load saved player info here LocalPlayer.SetPlayerData(new PlayerData( PlayerManager.GetNextAvailablePlayerId(), GameMain.localPlanet?.id ?? -1, new Float3(Config.Options.MechaColorR / 255, Config.Options.MechaColorG / 255, Config.Options.MechaColorB / 255), !string.IsNullOrWhiteSpace(Config.Options.Nickname) ? Config.Options.Nickname : GameMain.data.account.userName)); }