public ValkyrieGameServer(GameServerSettings settings) : this() { var assemblies = settings[ServerSettingName.EventAssemblies].Split (';') .Where ( s => !string.IsNullOrEmpty(s)) .Select ( s => Assembly.LoadFile(Path.Combine(Environment.CurrentDirectory, s))); this.worlds = new ServerWorldManager(assemblies, settings[ServerSettingName.MapDirectory] ); this.collision = new ServerCollisionProvider(this.worlds); this.movement = new ServerNewMovementProvider(this.collision); this.movement.PlayerMoved += this.MovementProvider_PlayerMoved; this.movement.FailedMovementVerification += this.MovementProvider_FailedVerify; this.players = new NetworkPlayerCache(); this.server = new NetworkServerConnectionProvider(); this.server.Port = 6116; this.settings = settings; Dictionary<ushort, Func<MessageBase>> types = new Dictionary<ushort,Func<MessageBase>> (); types.Add ((ushort) ClientMessageType.ClientEventMessage, () => new ClientEventRequestMessage ()); types.Add ((ushort) ServerMessageType.ServerEventMessage, () => new ServerEventMessage ()); MessageBase.AddMessageTypes (types); }
internal NetworkServerConnection(NetworkServerConnectionProvider provider, uint nid, TcpClient tcp, IPEndPoint endPoint, IValueWriter uwriter) { this.NetworkId = nid; this.Tcp = tcp; this.ReliableStream = tcp.GetStream (); this.provider = provider; this.EndPoint = endPoint; this.UnreliableWriter = uwriter; this.ReliableReader = new StreamValueReader (ReliableStream); this.ReliableWriter = new StreamValueWriter (ReliableStream); }