protected override void OnUpdate() { // Destroy singleton to prevent system from running again EntityManager.DestroyEntity(GetSingletonEntity <InitGameComponent>()); foreach (World world in World.All) { NetworkStreamReceiveSystem network = world.GetExistingSystem <NetworkStreamReceiveSystem>(); if (world.GetExistingSystem <ClientSimulationSystemGroup>() != null) { // Client worlds automatically connect to localhost NetworkEndPoint ep = NetworkEndPoint.LoopbackIpv4; ep.Port = 7979; network.Connect(ep); } #if UNITY_EDITOR else if (world.GetExistingSystem <ServerSimulationSystemGroup>() != null) { // Server world automatically listens for connections from any host NetworkEndPoint ep = NetworkEndPoint.AnyIpv4; ep.Port = 7979; network.Listen(ep); } #endif } }
private bool ConnectToServer(NetworkStreamReceiveSystem network, string address, ushort port) { NetworkEndPoint ep = NetworkEndPoint.Parse(address, port); var connection = network.Connect(ep); Debug.Log($"ConnectToServer({ep.Address}) => {connection}"); return(connection != Entity.Null); }
protected override void OnUpdate() { NetworkStreamReceiveSystem network = World.GetExistingSystem <NetworkStreamReceiveSystem>(); NetworkEndPoint ep = NetworkEndPoint.AnyIpv4; ep.Port = 21650; network.Listen(ep); Debug.Log("Lobby Listening on 21650"); Enabled = false; }
// Server world automatically listens for connections from any host private bool StartListenConnections(NetworkStreamReceiveSystem network, ushort port) { NetworkEndPoint ep = NetworkEndPoint.AnyIpv4; ep.Port = port; var listenStatus = network.Listen(ep); Debug.Log($"StartListenConnections({ep.Address}) => {listenStatus}"); return(listenStatus); }
protected override void OnUpdate() { EntityManager.DestroyEntity(GetSingletonEntity <Connect>()); NetworkStreamReceiveSystem network = World.GetExistingSystem <NetworkStreamReceiveSystem>(); if (network == null || World.GetExistingSystem <ClientSimulationSystemGroup>() == null) { return; } NetworkEndPoint ep = NetworkEndPoint.LoopbackIpv4; ep.Port = 21650; network.Connect(ep); Debug.Log("Connecting to LobbyWorld..."); }
protected override void OnCreateManager() { serializers = default(TGhostSerializerCollection); m_DataStream = new DataStreamWriter(2048, Allocator.Persistent); ghostGroup = GetEntityQuery(typeof(GhostComponent), typeof(GhostSystemStateComponent)); EntityQueryDesc filterSpawn = new EntityQueryDesc { All = new ComponentType[] { typeof(GhostComponent) }, None = new ComponentType[] { typeof(GhostSystemStateComponent) } }; EntityQueryDesc filterDespawn = new EntityQueryDesc { All = new ComponentType[] { typeof(GhostSystemStateComponent) }, None = new ComponentType[] { typeof(GhostComponent) } }; ghostSpawnGroup = GetEntityQuery(filterSpawn); ghostDespawnGroup = GetEntityQuery(filterDespawn); m_FreeGhostIds = new NativeQueue <int>(Allocator.Persistent); m_AllocatedGhostIds = new NativeArray <int>(1, Allocator.Persistent); m_AllocatedGhostIds[0] = 1; // To make sure 0 is invalid connectionGroup = GetEntityQuery( ComponentType.ReadWrite <NetworkStreamConnection>(), ComponentType.ReadOnly <NetworkStreamInGame>()); m_ServerSimulation = World.GetExistingSystem <ServerSimulationSystemGroup>(); m_Barrier = World.GetOrCreateSystem <BeginSimulationEntityCommandBufferSystem>(); m_ReceiveSystem = World.GetOrCreateSystem <NetworkStreamReceiveSystem>(); m_ConnectionStates = new List <ConnectionStateData>(256); m_ConnectionStateLookup = new NativeHashMap <Entity, int>(256, Allocator.Persistent); m_CompressionModel = new NetworkCompressionModel(Allocator.Persistent); m_SerialSpawnChunks = new NativeList <PrioChunk>(1024, Allocator.Persistent); }
protected override void OnCreateManager() { m_ReceiveSystem = World.GetOrCreateSystem <NetworkStreamReceiveSystem>(); }