private static void RunServer() { Data.Data.DataPath = "data/"; Stopwatch sw = Stopwatch.StartNew(); AppDomain.CurrentDomain.UnhandledException += UnhandledException; Console.WriteLine("----===== Tera-Project C# GameServer Emulator =====----\n\n"); Console.WriteLine("Starting Game Server!\n" + "-------------------------------------------"); TcpServer = new TcpServer("*", Config.GetServerPort(), Config.GetServerMaxCon()); Connection.SendAllThread.Start(); OpCodes.Init(); Console.WriteLine("OpCodes - Revision 1725 initialized!\n" + "-------------------------------------------\n"); #region global_components //services FeedbackService = new FeedbackService(); AccountService = new AccountService(); PlayerService = new PlayerService(); MapService = new MapService(); ChatService = new ChatService(); VisibleService = new VisibleService(); ControllerService = new ControllerService(); CraftService = new CraftService(); ItemService = new ItemService(); AiService = new AiService(); GeoService = new GeoService(); StatsService = new StatsService(); ObserverService = new ObserverService(); AreaService = new AreaService(); InformerService = new InformerService(); TeleportService = new TeleportService(); PartyService = new PartyService(); SkillsLearnService = new SkillsLearnService(); CraftLearnService = new CraftLearnService(); GuildService = new GuildService(); EmotionService = new EmotionService(); RelationService = new RelationService(); DuelService = new DuelService(); StorageService = new StorageService(); TradeService = new TradeService(); MountService = new MountService(); //engines ActionEngine = new ActionEngine.ActionEngine(); AdminEngine = new AdminEngine.AdminEngine(); SkillEngine = new SkillEngine.SkillEngine(); QuestEngine = new QuestEngine.QuestEngine(); #endregion GlobalLogic.ServerStart("SERVER=" + Config.GetDatabaseHost() + ";DATABASE=" + Config.GetDatabaseName() + ";UID=" + Config.GetDatabaseUser() + ";PASSWORD="******";PORT=" + Config.GetDatabasePort() + ";charset=utf8"); Console.WriteLine("-------------------------------------------\n" + "Loading Tcp Service.\n" + "-------------------------------------------"); TcpServer.BeginListening(); try { ServiceApplication = ScsServiceBuilder.CreateService(new ScsTcpEndPoint(23232)); ServiceApplication.AddService<IInformerService, InformerService>((InformerService) InformerService); ServiceApplication.Start(); Log.Info("InformerService started at *:23232."); var webservices = new ServiceManager(); webservices.Run(); } catch (Exception ex) { Log.ErrorException("InformerService can not be started.", ex); } sw.Stop(); Console.WriteLine("-------------------------------------------"); Console.WriteLine(" Server start in {0}", (sw.ElapsedMilliseconds/1000.0).ToString("0.00s")); Console.WriteLine("-------------------------------------------"); }
private static void RunServer() { Data.Data.DataPath = "data/"; Stopwatch sw = Stopwatch.StartNew(); AppDomain.CurrentDomain.UnhandledException += UnhandledException; Console.WriteLine("----===== GameServer =====----\n\n" + "Starting game server\n\n" + "Loading data files.\n" + "-------------------------------------------"); TcpServer = new TcpServer("*", 11101, 1000); Connection.SendAllThread.Start(); OpCodes.Init(); #region global_components //services FeedbackService = new FeedbackService(); AccountService = new AccountService(); PlayerService = new PlayerService(); MapService = new MapService(); ChatService = new ChatService(); VisibleService = new VisibleService(); ControllerService = new ControllerService(); CraftService = new CraftService(); ItemService = new ItemService(); AiService = new AiService(); GeoService = new GeoService(); StatsService = new StatsService(); ObserverService = new ObserverService(); AreaService = new AreaService(); InformerService = new InformerService(); TeleportService = new TeleportService(); PartyService = new PartyService(); SkillsLearnService = new SkillsLearnService(); CraftLearnService = new CraftLearnService(); GuildService = new GuildService(); EmotionService = new EmotionService(); RelationService = new RelationService(); DuelService = new DuelService(); StorageService = new StorageService(); TradeService = new TradeService(); MountService = new MountService(); //engines ActionEngine = new ActionEngine.ActionEngine(); AdminEngine = new AdminEngine.AdminEngine(); SkillEngine = new SkillEngine.SkillEngine(); QuestEngine = new QuestEngine.QuestEngine(); #endregion GlobalLogic.ServerStart(GamePlay.Default.DBConString); TcpServer.BeginListening(); try { ServiceApplication = ScsServiceBuilder.CreateService(new ScsTcpEndPoint(23232)); ServiceApplication.AddService<IInformerService, InformerService>((InformerService) InformerService); ServiceApplication.Start(); Log.Info("InformerService started at *:23232."); var webservices = new ServiceManager(); webservices.Run(); } catch (Exception ex) { Log.ErrorException("InformerService can not be started.", ex); } sw.Stop(); Console.WriteLine("-------------------------------------------"); Console.WriteLine(" Server start in {0}", (sw.ElapsedMilliseconds/1000.0).ToString("0.00s")); Console.WriteLine("-------------------------------------------"); }
public void ItemUse(Player player, int itemId, WorldPosition position) { StorageItem i = Global.StorageService.GetItemById(player.Inventory, itemId); if (i == null) { return; } if (!CanUseItem(player, i, null, true)) { return; } if (i.ItemTemplate.Id == 98) //Campfire { if (MapService.TryPutCampfire(player, position)) { Global.StorageService.RemoveItemById(player, player.Inventory, itemId, 1); } return; } ItemTemplate template = i.ItemTemplate; SkillStat skillStat = template.CatigorieStat as SkillStat; if (skillStat == null && template.CombatItemType != CombatItemType.RECIPE) { return; } switch (template.CombatItemType) { case CombatItemType.SKILLBOOK: Global.SkillsLearnService.UseSkillBook(player, template.Id); break; case CombatItemType.IMMEDIATE: case CombatItemType.DISPOSAL: { Global.SkillEngine.UseSkill( player.Connection, new UseSkillArgs { IsItemSkill = true, SkillId = skillStat.SkillId, StartPosition = position, }); new SpItemCooldown(itemId, template.Cooltime).Send(player); } break; case CombatItemType.NO_COMBAT: //new SpSystemNotice("Process use NO_COMBAT item").Send(player.Connection); break; case CombatItemType.RECIPE: Global.CraftService.AddRecipe(player, itemId); SystemMessages.YouLearnedToMakeRecipe("@item:" + itemId); //new SpSystemNotice("You learned new recipe").Send(player.Connection); break; } int groupId = ItemTemplate.Factory(itemId).CoolTimeGroup; if (groupId != 0) { if (player.ItemCoodowns.ContainsKey(groupId)) { player.ItemCoodowns[groupId] = RandomUtilities.GetCurrentMilliseconds(); } else { player.ItemCoodowns.Add(groupId, RandomUtilities.GetCurrentMilliseconds()); } } Global.StorageService.RemoveItemById(player, player.Inventory, itemId, 1); }
private static void RunServer() { //Start ServerStartTime Stopwatch serverStartStopwatch = Stopwatch.StartNew(); AppDomain.CurrentDomain.UnhandledException += UnhandledException; //CheckServerMode CheckServerMode(); //ConsoleOutput-Infos PrintServerLicence(); PrintServerInfo(); //Initialize TcpServer TcpServer = new TcpServer("*", Configuration.Network.GetServerPort(), Configuration.Network.GetServerMaxCon()); Connection.SendAllThread.Start(); //Initialize Server OpCodes OpCodes.Init(); Console.WriteLine("----------------------------------------------------------------------------\n" +"---===== OpCodes - Revision: " + OpCodes.Version + " EU initialized!"); //Global Services #region global_components //Services FeedbackService = new FeedbackService(); AccountService = new AccountService(); PlayerService = new PlayerService(); MapService = new MapService(); ChatService = new ChatService(); VisibleService = new VisibleService(); ControllerService = new ControllerService(); CraftService = new CraftService(); ItemService = new ItemService(); AiService = new AiService(); GeoService = new GeoService(); StatsService = new StatsService(); ObserverService = new ObserverService(); AreaService = new AreaService(); TeleportService = new TeleportService(); PartyService = new PartyService(); SkillsLearnService = new SkillsLearnService(); CraftLearnService = new CraftLearnService(); GuildService = new GuildService(); EmotionService = new EmotionService(); RelationService = new RelationService(); DuelService = new DuelService(); StorageService = new StorageService(); TradeService = new TradeService(); MountService = new MountService(); //Engines ActionEngine = new ActionEngine.ActionEngine(); AdminEngine = new AdminEngine.AdminEngine(); SkillEngine = new SkillEngine.SkillEngine(); QuestEngine = new QuestEngine.QuestEngine(); #endregion //Set SqlDatabase Connection GlobalLogic.ServerStart("SERVER=" + DAOManager.MySql_Host + ";DATABASE=" + DAOManager.MySql_Database + ";UID=" + DAOManager.MySql_User + ";PASSWORD="******";PORT=" + DAOManager.MySql_Port + ";charset=utf8"); Console.ForegroundColor = ConsoleColor.Gray; //Start Tcp-Server Listening Console.WriteLine("----------------------------------------------------------------------------\n" + "---===== Loading GameServer Service.\n" + "----------------------------------------------------------------------------"); TcpServer.BeginListening(); //Stop ServerStartTime serverStartStopwatch.Stop(); Console.WriteLine("----------------------------------------------------------------------------"); Console.WriteLine("---===== GameServer start in {0}", (serverStartStopwatch.ElapsedMilliseconds / 1000.0).ToString("0.00s")); Console.WriteLine("----------------------------------------------------------------------------"); }