static void Main(string[] args) { Console.WriteLine("Yorick " + SERVER_VERSION); WriteToLog.ExecutingDirectory = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); WriteToLog.LogfileName = "IntWarsSharp.txt"; WriteToLog.CreateLogFile(); ExecutingDirectory = WriteToLog.ExecutingDirectory; System.AppDomain.CurrentDomain.FirstChanceException += Logger.CurrentDomain_FirstChanceException; System.AppDomain.CurrentDomain.UnhandledException += Logger.CurrentDomain_UnhandledException; Logger.LogCoreInfo("Loading Config."); Config.LoadConfig("Settings/GameInfo.json"); Logger.LogCoreInfo("Loading RAF files in filearchives/."); var settings = Settings.Load("Settings/Settings.json"); if (!RAFManager.getInstance().init(System.IO.Path.Combine(settings.RadsPath, "filearchives"))) { Logger.LogCoreError("Couldn't load RAF files. Make sure you have a 'filearchives' directory in the server's root directory. This directory is to be taken from RADS/projects/lol_game_client/"); return; } ItemManager.getInstance().init(); Logger.LogCoreInfo("Game started"); Game g = new Game(); var address = new ENetAddress(); address.host = SERVER_HOST; address.port = SERVER_PORT; if (!g.initialize(address, SERVER_KEY)) { Logger.LogCoreError("Couldn't listen on port " + SERVER_PORT + ", or invalid key"); return; } //Sniffer.getInstance().setGame(g); //var p = Process.Start("SnifferApp.exe"); g.netLoop(); PathNode.DestroyTable(); // Cleanup }
private void Initialize() { //Settings if (Settings.Default.UpgradeRequired) { Settings.Default.Upgrade(); Settings.Default.UpgradeRequired = false; Settings.Default.Save(); } //Chat connection Client.XmppConnection = new XmppClientConnection(); Client.FriendList = new FriendList { PresenceChanger = { SelectedItem = Settings.Default.incognitoLogin ? "Invisible" : "Online" } }; Client.presenceStatus = Settings.Default.incognitoLogin ? ShowType.NONE : ShowType.chat; Client.CurrentPresence = Settings.Default.incognitoLogin ? PresenceType.invisible : PresenceType.available; //Client.ExecutingDirectory = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); //Keep this this way that way the auto updator knows what to update // ReSharper disable once AssignNullToNotNullAttribute var executingDirectory = Directory.GetParent(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)); Client.ExecutingDirectory = executingDirectory.FullName.Replace("file:\\", ""); //Log WriteToLog.ExecutingDirectory = Client.ExecutingDirectory; WriteToLog.LogfileName = "LegendaryClient.Log"; WriteToLog.CreateLogFile(); //Registry var key = Registry.CurrentUser.CreateSubKey("LegendaryClient"); if (key != null) { key.SetValue("LCLocation", Client.ExecutingDirectory); key.Close(); } //Garena if (Directory.Exists(Path.Combine(Client.ExecutingDirectory, "GarenaClient"))) { var regKey = Registry.CurrentUser.CreateSubKey("LegendaryClient"); // ReSharper disable once PossibleNullReferenceException var val = regKey.GetValue("GarenaLocation").ToString(); // ReSharper disable once AssignNullToNotNullAttribute var garenaLocation = Path.Combine(Path.GetDirectoryName(val), "Air"); if (File.Exists(Path.Combine(Client.ExecutingDirectory, "GarenaClient", "LolClient.exe.real"))) { if (File.Exists(Path.Combine(garenaLocation, "LolClient.exe"))) { File.Delete(Path.Combine(garenaLocation, "LolClient.exe")); } File.Move(Path.Combine(Client.ExecutingDirectory, "GarenaClient", "LolClient.exe.real"), Path.Combine(garenaLocation, "LolClient.exe")); } Directory.Delete(Path.Combine(Client.ExecutingDirectory, "GarenaClient")); } #if DEBUG if (File.Exists(Path.Combine(Client.ExecutingDirectory, "DevWin", "LCDevWindow.exe"))) { StartPipe(); AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; AppDomain.CurrentDomain.FirstChanceException += CurrentDomain_FirstChanceException; Process.Start(Path.Combine(Client.ExecutingDirectory, "DevWin", "LCDevWindow.exe")); } #endif AppDomain.CurrentDomain.FirstChanceException += Log.CurrentDomain_FirstChanceException; AppDomain.CurrentDomain.UnhandledException += Log.AppDomain_CurrentDomain; }