Exemplo n.º 1
0
        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
        }
Exemplo n.º 2
0
        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;
        }