static void Main(string[] args) { ConfigFileManager.CreateConfigFile(RequesterApplication.GameServer); ConfigFileManager.LoadConfigFile(RequesterApplication.GameServer); Console.WriteLine("OpenBound Game Server"); Console.WriteLine("----------------------\n"); Console.WriteLine("----------------------"); Console.WriteLine($"Game Server ({NetworkObjectParameters.GameServerInformation.ServerConsoleName}) has started and is listening for Clients."); Console.WriteLine("----------------------\n"); Console.WriteLine("----------------------"); Console.WriteLine("This server is meant to handle all the current rooms and matches, it's max capacity defines how many players can access it."); Console.WriteLine("This server must register all matchs and results on the database"); Console.WriteLine("----------------------\n"); Console.WriteLine("----------------------"); Console.WriteLine("Server Responsabilities:"); Console.WriteLine("Lobby Server - Register and update its current status to LobbyServer."); Console.WriteLine("Game Client - Synchronize its objects to all connected clients"); Console.WriteLine("----------------------\n"); Console.WriteLine("----------------------"); Console.WriteLine("Operation Log:"); Console.WriteLine("----------------------\n"); GameServerObjects.serverServiceProvider = new ServerServiceProvider( NetworkObjectParameters.GameServerInformation.ServerPort, NetworkObjectParameters.GameServerBufferSize, GameServiceHUB, onDisconnect: OnDisconnect); GameServerObjects.serverServiceProvider.StartOperation(); GameServerObjects.lobbyServerCSP = new ClientServiceProvider( NetworkObjectParameters.LobbyServerInformation.ServerLocalAddress, NetworkObjectParameters.LobbyServerInformation.ServerPort, NetworkObjectParameters.LobbyServerBufferSize, LobbyServiceConsumerAction); GameServerObjects.lobbyServerCSP.StartOperation(); GameServerObjects.lobbyServerCSP.RequestQueue.Enqueue(NetworkObjectParameters.GameServerRegisterRequest, NetworkObjectParameters.GameServerInformation); }
private void DeleteSDKEntryFromConfigFile(SDK sdk) { string filePath = ConfigFileManager.GetConfigurationFilePath(); XmlDocument doc = ConfigFileManager.LoadConfigFile(filePath); foreach (XmlNode node in doc.DocumentElement.FirstChild.ChildNodes) { //It is necessary an unique id for serves in the XML file. var sdkNode = SDK.GetSDKFromXmlNode(node); if (sdk.Path == sdkNode.Path) { doc.DocumentElement.FirstChild.RemoveChild(node); doc.Save(filePath); break; } } }
private void DeleteDeviceEntryFromConfigFile(Device device) { string filePath = ConfigFileManager.GetConfigurationFilePath(); XmlDocument doc = ConfigFileManager.LoadConfigFile(filePath); foreach (XmlNode node in doc.DocumentElement.ChildNodes[1].ChildNodes) { //It is necessary an unique id for serves in the XML file. var deviceNode = Device.GetDeviceFromXmlNode(node); if (device.IPAddress == deviceNode.IPAddress) { doc.DocumentElement.ChildNodes[1].RemoveChild(node); doc.Save(filePath); break; } } }
public static void Initialize(string[] args) { ConfigFileManager.CreateConfigFile(RequesterApplication.Launcher); ConfigFileManager.LoadConfigFile(RequesterApplication.Launcher); GameClientSettingsInformation = ConfigFileManager.ReadClientInformation(); if (args.Length >= 2) { //Game has been patched string previousVersion = args[0]; string currentVersion = args[1]; GameClientSettingsInformation.ClientVersionHistory = ObjectWrapper.DeserializeFile <PatchHistory>( $@"{Directory.GetCurrentDirectory()}\{NetworkObjectParameters.LatestPatchHistoryFilename}"); GameClientSettingsInformation.ClientVersionHistory.PatchHistoryList.Clear(); } ConfigFileManager.OverwriteGameServerSettings(GameClientSettingsInformation); }
static void Main(string[] args) { ConfigFileManager.CreateConfigFile(RequesterApplication.LobbyServer); ConfigFileManager.LoadConfigFile(RequesterApplication.LobbyServer); LobbyServerObjects.ServerInformationList = ConfigFileManager.LoadServerlistPlaceholderFile(); Console.WriteLine("OpenBound Lobby Server"); Console.WriteLine("----------------------\n"); Console.WriteLine("----------------------"); Console.WriteLine($"Lobby Server ({NetworkObjectParameters.LobbyServerInformation.ServerConsoleName}) has started and is listening open for Login Server's requests."); Console.WriteLine("----------------------\n"); Console.WriteLine("----------------------"); Console.WriteLine($"This server must be to connected to Login Server ({NetworkObjectParameters.LoginServerInformation.ServerConsoleName}) for exchanging UID for each login attempt."); Console.WriteLine("Server won't register new login attempts when the LoginServer is offline."); Console.WriteLine("This server can be closed and re-opened at any time, but it will drop all players that requests on this sever."); Console.WriteLine("----------------------\n"); Console.WriteLine("----------------------"); Console.WriteLine("Server Responsabilities:"); Console.WriteLine("Login Server - Handshake and grant UID to all players that requests login from Login Server"); Console.WriteLine("Game Server - Listen, register, and update all Game Server status"); Console.WriteLine("Game Client - Feed information about all registered Game Server"); Console.WriteLine("----------------------\n"); Console.WriteLine("----------------------"); Console.WriteLine("Operation Log:"); Console.WriteLine("----------------------\n"); LobbyServerObjects.RequestedLoginPlayers = new List <Player>(); LobbyServerObjects.ClientServiceProviderList = new List <ClientServiceProvider>(); ServerServiceProvider serverServiceProvider = new ServerServiceProvider( NetworkObjectParameters.LobbyServerInformation.ServerPort, NetworkObjectParameters.LoginServerBufferSize, LobbyServiceHUB, onDisconnect: OnDisconnect); serverServiceProvider.StartOperation(); }
static void Main(string[] args) { ConfigFileManager.CreateConfigFile(RequesterApplication.LoginServer); ConfigFileManager.LoadConfigFile(RequesterApplication.LoginServer); Console.WriteLine("OpenBound Login Server"); Console.WriteLine("----------------------\n"); Console.WriteLine("----------------------"); Console.WriteLine($"Login Server ({NetworkObjectParameters.LoginServerInformation.ServerConsoleName}) has started listening for players."); Console.WriteLine("----------------------\n"); Console.WriteLine("----------------------"); Console.WriteLine($"The server must be to connected to Lobby Server ({NetworkObjectParameters.LobbyServerInformation.ServerConsoleName}) for exchanging UID for each user that tries to login."); Console.WriteLine("The server won't work when the Lobby Server is offline."); Console.WriteLine("----------------------\n"); Console.WriteLine("----------------------"); Console.WriteLine("Server Responsabilities:"); Console.WriteLine("Lobby Server - Handshake and request UID to all players that requests login"); Console.WriteLine("Game Launcher - Create and retrive players from database, grants access to login requests"); Console.WriteLine("----------------------\n"); Console.WriteLine("----------------------"); Console.WriteLine("Operation Log:"); Console.WriteLine("----------------------\n"); ServerServiceProvider serverServiceProvider = new ServerServiceProvider( NetworkObjectParameters.LoginServerInformation.ServerPort, NetworkObjectParameters.LoginServerBufferSize, LoginServiceHUB); serverServiceProvider.StartOperation(); CreateDatabaseIfNecessary(); }
internal static void InitializeObjects() { ConfigFileManager.CreateConfigFile(RequesterApplication.Launcher); ConfigFileManager.LoadConfigFile(RequesterApplication.Launcher); Parameter.Initialize(new LauncherInformation( LauncherOperationStatus.AuthConfirmed, ConfigFileManager.ReadClientInformation(), GameInformation.Instance.PlayerInformation = new Player() { ID = 0, Gender = Gender.Female, Nickname = "Winged", //SelectedItemTypeList, })); GameInformation.Instance.PlayerInformation.SelectedItemTypeList.Add(ItemType.PowerUp); GameInformation.Instance.PlayerInformation.SelectedItemTypeList.Add(ItemType.PowerUp); GameInformation.Instance.PlayerInformation.SelectedItemTypeList.Add(ItemType.BungeShot); GameInformation.Instance.PlayerInformation.SelectedItemTypeList.Add(ItemType.BungeShot); GameInformation.Instance.PlayerInformation.SelectedItemTypeList.Add(ItemType.Blood); GameInformation.Instance.PlayerInformation.SelectedItemTypeList.Add(ItemType.Blood); #region Sync Mobile List List <Player> pList = new List <Player>() { new Player() { Gender = Gender.Female, Email = "*****@*****.**", ID = 0, Nickname = "Wicked", Password = "******", PlayerRank = PlayerRank.Staff4, PlayerRoomStatus = PlayerRoomStatus.Ready, PrimaryMobile = MobileType.Ice, SecondaryMobile = MobileType.Knight, PlayerTeam = PlayerTeam.Red, Guild = new Guild() { GuildMembers = new List <Player>(), ID = 1, Name = "Zica", Tag = "zicamasters" }, PlayerStatus = PlayerStatus.Normal, SecurityToken = new SecurityToken() { DateTime = DateTime.Now, Token = "123123123", UnifiedSecurityToken = "123123123" }, Attribute = new int[] { 1, 1, 1, 1, 1, 1, 1, 1 }, }, new Player() { Gender = Gender.Male, Email = "*****@*****.**", ID = 1, Nickname = "Zicoman", Password = "******", PlayerRank = PlayerRank.Dragon1, PlayerRoomStatus = PlayerRoomStatus.Ready, PrimaryMobile = MobileType.Lightning, SecondaryMobile = MobileType.Knight, PlayerTeam = PlayerTeam.Blue, Guild = new Guild() { GuildMembers = new List <Player>(), ID = 1, Name = "Zica", Tag = "zicamasters" }, PlayerStatus = PlayerStatus.Normal, SecurityToken = new SecurityToken() { DateTime = DateTime.Now, Token = "123123123", UnifiedSecurityToken = "123123123" } }, new Player() { Email = "*****@*****.**", ID = 2, Nickname = "Big String To Test The Box Size Calc", Password = "******", PlayerRank = PlayerRank.Axe1, PlayerRoomStatus = PlayerRoomStatus.Ready, PrimaryMobile = MobileType.Knight, SecondaryMobile = MobileType.Knight, PlayerTeam = PlayerTeam.Red, Guild = new Guild() { GuildMembers = new List <Player>(), ID = 1, Name = "Zica", Tag = "zicamasters" }, PlayerStatus = PlayerStatus.Normal, SecurityToken = new SecurityToken() { DateTime = DateTime.Now, Token = "123123123", UnifiedSecurityToken = "123123123" } }, new Player() { Email = "*****@*****.**", ID = 3, Nickname = "Wicko", Password = "******", PlayerRank = PlayerRank.GM, PlayerRoomStatus = PlayerRoomStatus.Ready, PrimaryMobile = MobileType.Dragon, SecondaryMobile = MobileType.Knight, PlayerTeam = PlayerTeam.Blue, Guild = new Guild() { GuildMembers = new List <Player>(), ID = 1, Name = "Zica", Tag = "zicamasters" }, PlayerStatus = PlayerStatus.Normal, SecurityToken = new SecurityToken() { DateTime = DateTime.Now, Token = "123123123", UnifiedSecurityToken = "123123123" } }, new Player() { Email = "*****@*****.**", ID = 4, Nickname = "WickoWicko", Password = "******", PlayerRank = PlayerRank.DGoldenAxe2, PlayerRoomStatus = PlayerRoomStatus.Ready, PrimaryMobile = MobileType.Dragon, SecondaryMobile = MobileType.Knight, PlayerTeam = PlayerTeam.Blue, Guild = new Guild() { GuildMembers = new List <Player>(), ID = 1, Name = "Zica", Tag = "zicamasters" }, PlayerStatus = PlayerStatus.Normal, SecurityToken = new SecurityToken() { DateTime = DateTime.Now, Token = "123123123", UnifiedSecurityToken = "123123123" } }, new Player() { Email = "*****@*****.**", ID = 5, Nickname = "Ordinary World", Password = "******", PlayerRank = PlayerRank.Chick, PlayerRoomStatus = PlayerRoomStatus.Ready, PrimaryMobile = MobileType.Turtle, SecondaryMobile = MobileType.Knight, PlayerTeam = PlayerTeam.Blue, Guild = new Guild() { GuildMembers = new List <Player>(), ID = 1, Name = "Zica", Tag = "zicamasters" }, PlayerStatus = PlayerStatus.Normal, SecurityToken = new SecurityToken() { DateTime = DateTime.Now, Token = "123123123", UnifiedSecurityToken = "123123123" } }, new Player() { Email = "*****@*****.**", ID = 6, Nickname = "KonoDioDa", Password = "******", PlayerRank = PlayerRank.Champion1, PlayerRoomStatus = PlayerRoomStatus.Ready, PrimaryMobile = MobileType.Dragon, SecondaryMobile = MobileType.Knight, PlayerTeam = PlayerTeam.Red, Guild = new Guild() { GuildMembers = new List <Player>(), ID = 1, Name = "Zica", Tag = "zicamasters" }, PlayerStatus = PlayerStatus.Normal, SecurityToken = new SecurityToken() { DateTime = DateTime.Now, Token = "123123123", UnifiedSecurityToken = "123123123" } }, new Player() { Gender = Gender.Female, Email = "*****@*****.**", ID = 7, Nickname = "JosephJoestar", Password = "******", PlayerRank = PlayerRank.Axe1, PlayerRoomStatus = PlayerRoomStatus.Ready, PrimaryMobile = MobileType.RaonLauncher, SecondaryMobile = MobileType.Knight, PlayerTeam = PlayerTeam.Red, Guild = new Guild() { GuildMembers = new List <Player>(), ID = 1, Name = "Zica", Tag = "zicamasters" }, PlayerStatus = PlayerStatus.Normal, SecurityToken = new SecurityToken() { DateTime = DateTime.Now, Token = "123123123", UnifiedSecurityToken = "123123123" } } }; sMobList = new List <SyncMobile>(); sMobList.Add(new SyncMobile() { CrosshairAngle = 10, Delay = 500, //Facing = Facing.Left, MobileMetadata = MobileMetadata.BuildMobileMetadata(pList[0], MobileType.Lightning), Owner = pList[0], Position = new int[] { 340, 100 }, SelectedShotType = ShotType.SS, SynchronizableActionList = new List <SynchronizableAction>() { SynchronizableAction.LeftMovement, SynchronizableAction.ChargingShot } }); sMobList.Add(new SyncMobile() { CrosshairAngle = 10, Delay = 500, //Facing = Facing.Left, MobileMetadata = MobileMetadata.BuildMobileMetadata(pList[1], MobileType.Knight), Owner = pList[1], Position = new int[] { 1, 0 }, SelectedShotType = ShotType.SS, SynchronizableActionList = new List <SynchronizableAction>() { SynchronizableAction.LeftMovement, SynchronizableAction.ChargingShot } }); sMobList.Add(new SyncMobile() { CrosshairAngle = 10, Delay = 500, //Facing = Facing.Left, MobileMetadata = MobileMetadata.BuildMobileMetadata(pList[2], MobileType.Knight), Owner = pList[2], Position = new int[] { 1, 0 }, SelectedShotType = ShotType.SS, SynchronizableActionList = new List <SynchronizableAction>() { SynchronizableAction.LeftMovement, SynchronizableAction.ChargingShot } }); sMobList.Add(new SyncMobile() { CrosshairAngle = 10, Delay = 500, //Facing = Facing.Left, MobileMetadata = MobileMetadata.BuildMobileMetadata(pList[3], MobileType.Knight), Owner = pList[3], Position = new int[] { 1, 0 }, SelectedShotType = ShotType.SS, SynchronizableActionList = new List <SynchronizableAction>() { SynchronizableAction.LeftMovement, SynchronizableAction.ChargingShot } }); sMobList.Add(new SyncMobile() { CrosshairAngle = 10, Delay = 500, //Facing = Facing.Left, MobileMetadata = MobileMetadata.BuildMobileMetadata(pList[4], MobileType.Knight), Owner = pList[4], Position = new int[] { 1, 0 }, SelectedShotType = ShotType.SS, SynchronizableActionList = new List <SynchronizableAction>() { SynchronizableAction.LeftMovement, SynchronizableAction.ChargingShot } }); sMobList.Add(new SyncMobile() { CrosshairAngle = 10, Delay = 500, //Facing = Facing.Left, MobileMetadata = MobileMetadata.BuildMobileMetadata(pList[5], MobileType.Knight), Owner = pList[5], Position = new int[] { 1, 0 }, SelectedShotType = ShotType.SS, SynchronizableActionList = new List <SynchronizableAction>() { SynchronizableAction.LeftMovement, SynchronizableAction.ChargingShot } }); sMobList.Add(new SyncMobile() { CrosshairAngle = 10, Delay = 500, //Facing = Facing.Left, MobileMetadata = MobileMetadata.BuildMobileMetadata(pList[6], MobileType.Knight), Owner = pList[6], Position = new int[] { 1, 0 }, SelectedShotType = ShotType.SS, SynchronizableActionList = new List <SynchronizableAction>() { SynchronizableAction.LeftMovement, SynchronizableAction.ChargingShot } }); sMobList.Add(new SyncMobile() { CrosshairAngle = 10, Delay = 500, //Facing = Facing.Left, MobileMetadata = MobileMetadata.BuildMobileMetadata(pList[7], MobileType.Knight), Owner = pList[7], Position = new int[] { 1, 0 }, SelectedShotType = ShotType.SS, SynchronizableActionList = new List <SynchronizableAction>() { SynchronizableAction.LeftMovement, SynchronizableAction.ChargingShot } }); #endregion //delayboard = new Delayboard(mobList, new Vector2(0, 0) /* Parameter.ScreenCenter */); GameInformation.Instance.RoomMetadata = new RoomMetadata(GameMode.Score, TurnsToSuddenDeath.Turn40, MatchSuddenDeathType.DoubleDeath, RoomSize.FourVsFour, sMobList[0].Owner, 1, "123", "123") { SpawnPositions = new Dictionary <int, int[]>() { { 0, new int[] { 1150, 700 } }, { 1, new int[] { 300, 700 } }, { 2, new int[] { 700, 700 } }, { 3, new int[] { 400, 700 } }, { 4, new int[] { 800, 700 } }, { 5, new int[] { 500, 700 } }, { 6, new int[] { 900, 700 } }, { 7, new int[] { 600, 700 } }, { 8, new int[] { 1000, 700 } }, }, TeamA = new List <Player>() { sMobList[0].Owner, sMobList[1].Owner, sMobList[2].Owner, sMobList[3].Owner }, TeamB = new List <Player>() { sMobList[4].Owner, sMobList[5].Owner, sMobList[6].Owner, sMobList[7].Owner }, }; GameInformation.Instance.RoomMetadata.Map = Map.GetMap(GameMapType.B, GameMap.Metamine); }
public static void Initialize() { ConfigFileManager.CreateConfigFile(RequesterApplication.Launcher); ConfigFileManager.LoadConfigFile(RequesterApplication.Launcher); GameClientSettingsInformation = ConfigFileManager.ReadClientInformation(); }