Exemplo n.º 1
0
 public static void LaunchGame(string[] args, bool monoArgs = false)
 {
     if (monoArgs)
     {
         args = Utils.ConvertMonoArgsToDotNet(args);
     }
     if (Platform.get_IsOSX())
     {
         Main.OnEngineLoad += (Action)(() => Main.instance.IsMouseVisible = false);
     }
     Program.LaunchParameters = Utils.ParseArguements(args);
     ThreadPool.SetMinThreads(8, 8);
     LanguageManager.Instance.SetLanguage(GameCulture.English);
     Program.SetupLogging();
     using (Main game = new Main())
     {
         try
         {
             Program.InitializeConsoleOutput();
             Lang.InitializeLegacyLocalization();
             SocialAPI.Initialize(new SocialMode?());
             LaunchInitializer.LoadParameters(game);
             Main.OnEnginePreload += new Action(Program.StartForceLoad);
             game.DedServ();
         }
         catch (Exception ex)
         {
             Program.DisplayException(ex);
         }
     }
 }
Exemplo n.º 2
0
 public static void LaunchGame(string[] args)
 {
     LaunchParameters = Utils.ParseArguements(args);
     using (Main main = new Main())
     {
         try
         {
             SocialAPI.Initialize();
             LaunchInitializer.LoadParameters(main);
             main.DedServ();
         }
         catch (Exception e)
         {
             DisplayException(e);
         }
     }
 }
Exemplo n.º 3
0
        private static void Main(string[] args)
        {
            try
            {
                Game = new Main();

                if (Environment.OSVersion.Platform == PlatformID.Unix)
                {
                    Terraria.Main.SavePath = "Terraria";
                }
                else
                {
                    Terraria.Main.SavePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "My Games", "Terraria");
                }

                Terraria.Main.WorldPath  = Path.Combine(Terraria.Main.SavePath, "Worlds");
                Terraria.Main.PlayerPath = Path.Combine(Terraria.Main.SavePath, "Players");

                try
                {
                    Console.WriteLine("TerrariaAPI Version: " + ServerApi.ApiVersion + " (Protocol {0})", Terraria.Main.versionNumber2);
                    ServerApi.Initialize(args, Game);
                }
                catch (Exception ex)
                {
                    ServerApi.LogWriter.ServerWriteLine(
                        "Startup aborted due to an exception in the Server API initialization:\n" + ex, TraceLevel.Error);

                    Console.ReadLine();
                    return;
                }

                Game.DedServ();
                ServerApi.DeInitialize();
            }
            catch (Exception ex)
            {
                ServerApi.LogWriter.ServerWriteLine("Server crashed due to an unhandled exception:\n" + ex, TraceLevel.Error);
                Console.ReadLine();
            }
        }
Exemplo n.º 4
0
 public static void LaunchGame(string[] args, bool monoArgs = false)
 {
     if (monoArgs)
     {
         args = Utils.ConvertMonoArgsToDotNet(args);
     }
     if (Platform.get_IsOSX())
     {
         // ISSUE: reference to a compiler-generated field
         if (Program.CS\u0024\u003C\u003E9__CachedAnonymousMethodDelegate5 == null)
         {
             // ISSUE: reference to a compiler-generated field
             // ISSUE: method pointer
             Program.CS\u0024\u003C\u003E9__CachedAnonymousMethodDelegate5 = new Action((object)null, __methodptr(\u003CLaunchGame\u003Eb__4));
         }
         // ISSUE: reference to a compiler-generated field
         Main.OnEngineLoad += Program.CS\u0024\u003C\u003E9__CachedAnonymousMethodDelegate5;
     }
     Program.LaunchParameters = Utils.ParseArguements(args);
     ThreadPool.SetMinThreads(8, 8);
     LanguageManager.Instance.SetLanguage(GameCulture.English);
     Program.SetupLogging();
     using (Main game = new Main())
     {
         try
         {
             Program.InitializeConsoleOutput();
             Lang.InitializeLegacyLocalization();
             SocialAPI.Initialize(new SocialMode?());
             LaunchInitializer.LoadParameters(game);
             // ISSUE: method pointer
             Main.OnEnginePreload += new Action((object)null, __methodptr(StartForceLoad));
             game.DedServ();
         }
         catch (Exception ex)
         {
             Program.DisplayException(ex);
         }
     }
 }
Exemplo n.º 5
0
        private static void Main(string[] args)
        {
            try
            {
                Game = new Main();

                if (Environment.OSVersion.Platform == PlatformID.Unix)
                    Terraria.Main.SavePath = "Terraria";
                else
                    Terraria.Main.SavePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "My Games", "Terraria");

                Terraria.Main.WorldPath = Path.Combine(Terraria.Main.SavePath, "Worlds");
                Terraria.Main.PlayerPath = Path.Combine(Terraria.Main.SavePath, "Players");

                try
                {
                    Console.WriteLine("TerrariaAPI Version: " + ServerApi.ApiVersion + " (Protocol {0})", Terraria.Main.versionNumber2);
                    ServerApi.Initialize(args, Game);
                }
                catch (Exception ex)
                {
                    ServerApi.LogWriter.ServerWriteLine(
                        "Startup aborted due to an exception in the Server API initialization:\n" + ex, TraceLevel.Error);

                    Console.ReadLine();
                    return;
                }

                Game.DedServ();
                ServerApi.DeInitialize();
            }
            catch (Exception ex)
            {
                ServerApi.LogWriter.ServerWriteLine("Server crashed due to an unhandled exception:\n" + ex, TraceLevel.Error);
                Console.ReadLine();
            }
        }
Exemplo n.º 6
0
 public static void LaunchGame(string[] args, bool monoArgs = false)
 {
     Thread.CurrentThread.Name = "Main Thread";
     if (monoArgs)
     {
         args = Utils.ConvertMonoArgsToDotNet(args);
     }
     if (Platform.get_IsOSX())
     {
         Main.OnEngineLoad += delegate
         {
             Main.instance.IsMouseVisible = false;
         };
     }
     LaunchParameters = Utils.ParseArguements(args);
     ThreadPool.SetMinThreads(8, 8);
     LanguageManager.Instance.SetLanguage(GameCulture.DefaultCulture);
     InitializeConsoleOutput();
     SetupLogging();
     Platform.Get <IWindowService>().SetQuickEditEnabled(false);
     using (Main main = new Main())
     {
         try
         {
             Lang.InitializeLegacyLocalization();
             SocialAPI.Initialize();
             LaunchInitializer.LoadParameters(main);
             Main.OnEnginePreload += StartForceLoad;
             main.DedServ();
             main.Run();
         }
         catch (Exception e)
         {
             DisplayException(e);
         }
     }
 }
Exemplo n.º 7
0
 private static void Main(string[] args)
 {
     try
     {
         Game = new Main();
         for (int i = 0; i < args.Length; i++)
         {
             switch (args[i].ToLower())
             {
                 case "-config":
                     i++;
                     Game.LoadDedConfig(args[i]);
                     break;
                 case "-port":
                     i++;
                     try
                     {
                         int serverPort = Convert.ToInt32(args[i]);
                         Netplay.serverPort = serverPort;
                     }
                     catch
                     {
                     }
                     break;
                 case "-world":
                     i++;
                     Game.SetWorld(args[i]);
                     break;
                 case "-worldname":
                     i++;
                     Game.SetWorldName(args[i]);
                     break;
                 case "-autoshutdown":
                     Game.autoShut();
                     break;
                 case "-autocreate":
                     i++;
                     string newOpt = args[i];
                     Game.autoCreate(newOpt);
                     break;
                 case "-ip":
                     IPAddress ip;
                     if (IPAddress.TryParse(args[++i], out ip))
                     {
                         Netplay.serverListenIP = ip;
                         Console.Write("Using IP: {0}", ip);
                     }
                     else
                         Console.WriteLine("Bad IP: {0}", args[i]);
                     break;
                 case "-connperip":
                     int limit;
                     if (int.TryParse(args[++i], out limit))
                     {
                         Netplay.connectionLimit = limit;
                         Console.WriteLine("Each IP is now limited to {0} connections", limit);
                     }
                     else
                     Console.WriteLine("Bad int for -connperip");
                     break;
                 case "-killinactivesocket":
                     Netplay.killInactive = true;
                     break;
                 case "-lang":
                     Lang.lang = Convert.ToInt32(args[++i]);
                     break;
                 case "-ignoreversion":
                     IgnoreVersion = true;
                     Console.WriteLine("WARNING: Versions are no longer being regarded!");
                     Console.WriteLine("You are on your own! If problems arise, TShock developers will not help you with issues regarding this.");
                     break;
             }
         }
         if (Environment.OSVersion.Platform == PlatformID.Unix)
             Terraria.Main.SavePath = "Terraria";
         else
             Terraria.Main.SavePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "My Games", "Terraria");
         Terraria.Main.WorldPath = Path.Combine(Terraria.Main.SavePath, "Worlds");
         Terraria.Main.PlayerPath = Path.Combine(Terraria.Main.SavePath, "Players");
         Initialize(Game);
         Game.DedServ();
         DeInitialize();
     }
     catch (Exception value)
     {
         try
         {
             using (var streamWriter = new StreamWriter("crashlog.txt", true))
             {
                 streamWriter.WriteLine(DateTime.Now);
                 streamWriter.WriteLine(value);
                 streamWriter.WriteLine("");
             }
             Console.WriteLine("Server crash: " + DateTime.Now);
             Console.WriteLine(value);
             Console.WriteLine("");
             Console.WriteLine("Please send crashlog.txt to [email protected]");
         }
         catch
         {
         }
     }
 }
 private static void Main(string[] args)
 {
     //Process currentProcess = Process.GetCurrentProcess();
     //currentProcess.PriorityClass = ProcessPriorityClass.High;
     game = new Main();
     for (int i = 0; i < args.Length; i++)
     {
         if (args[i].ToLower() == "-config")
         {
             i++;
             game.LoadDedConfig(args[i]);
         }
         if (args[i].ToLower() == "-port")
         {
             i++;
             try
             {
                 int serverPort = Convert.ToInt32(args[i]);
                 Netplay.ListenPort = serverPort;
             }
             catch
             {
             }
         }
         if (args[i].ToLower() == "-players" || args[i].ToLower() == "-maxplayers")
         {
             i++;
             try
             {
                 int netPlayers = Convert.ToInt32(args[i]);
                 game.SetNetPlayers(netPlayers);
             }
             catch
             {
             }
         }
         if (args[i].ToLower() == "-pass" || args[i].ToLower() == "-password")
         {
             i++;
             Netplay.ServerPassword = args[i];
         }
         if (args[i].ToLower() == "-lang")
         {
             i++;
             Lang.lang = Convert.ToInt32(args[i]);
         }
         if (args[i].ToLower() == "-world")
         {
             i++;
             game.SetWorld(args[i], false);
         }
         if (args[i].ToLower() == "-worldname")
         {
             i++;
             game.SetWorldName(args[i]);
         }
         if (args[i].ToLower() == "-motd")
         {
             i++;
             game.NewMOTD(args[i]);
         }
         if (args[i].ToLower() == "-banlist")
         {
             i++;
             Netplay.BanFilePath = args[i];
         }
         if (args[i].ToLower() == "-autoshutdown")
         {
             game.autoShut();
         }
         if (args[i].ToLower() == "-secure")
         {
             Netplay.spamCheck = true;
         }
         if (args[i].ToLower() == "-autocreate")
         {
             i++;
             string newOpt = args[i];
             game.autoCreate(newOpt);
         }
         if (args[i].ToLower() == "-loadlib")
         {
             i++;
             string path = args[i];
             game.loadLib(path);
         }
         if (args[i].ToLower() == "-noupnp")
         {
             Netplay.UseUPNP = false;
         }
     }
     game.DedServ();
 }
		public static void LaunchGame(string[] args)
		{
			Program.LaunchParameters = Utils.ParseArguements(args);
            ThreadPool.SetMinThreads(8, 8);
            using (Main main = new Main())
			{
				try
                {
                    SocialAPI.Initialize(null);
                    LaunchInitializer.LoadParameters(main);
                    Main.OnEngineLoad += delegate
					{
						Program.ForceLoadAssembly(Assembly.GetExecutingAssembly(), true);
					};
#if CLIENT
                    main.Run();
#else
                    main.DedServ();
#endif
                }
                catch (Exception e)
				{
					Program.DisplayException(e);
				}
			}
		}
Exemplo n.º 10
0
        private static void Main(string[] args)
        {
            try
            {
                Game = new Main();
                for (int i = 0; i < args.Length; i++)
                {
                    switch (args[i].ToLower())
                    {
                    case "-config":
                        i++;
                        Game.LoadDedConfig(args[i]);
                        break;

                    case "-port":
                        i++;
                        try
                        {
                            int serverPort = Convert.ToInt32(args[i]);
                            Netplay.serverPort = serverPort;
                        }
                        catch
                        {
                        }
                        break;

                    case "-world":
                        i++;
                        Game.SetWorld(args[i]);
                        break;

                    case "-worldname":
                        i++;
                        Game.SetWorldName(args[i]);
                        break;

                    case "-autoshutdown":
                        Game.autoShut();
                        break;

                    case "-autocreate":
                        i++;
                        string newOpt = args[i];
                        Game.autoCreate(newOpt);
                        break;

                    case "-ip":
                        IPAddress ip;
                        if (IPAddress.TryParse(args[++i], out ip))
                        {
                            Netplay.serverListenIP = ip;
                            Console.Write("Using IP: {0}", ip);
                        }
                        else
                        {
                            Console.WriteLine("Bad IP: {0}", args[i]);
                        }
                        break;

                    case "-connperip":
                        int limit;
                        if (int.TryParse(args[++i], out limit))
                        {
                            Netplay.connectionLimit = limit;
                            Console.WriteLine("Each IP is now limited to {0} connections", limit);
                        }
                        else
                        {
                            Console.WriteLine("Bad int for -connperip");
                        }
                        break;

                    case "-killinactivesocket":
                        Netplay.killInactive = true;
                        break;

                    case "-lang":
                        Lang.lang = Convert.ToInt32(args[++i]);
                        break;

                    case "-ignoreversion":
                        IgnoreVersion = true;
                        Console.WriteLine("Ignoring API version checks on plguins.");
                        break;
                    }
                }
                if (Environment.OSVersion.Platform == PlatformID.Unix)
                {
                    Terraria.Main.SavePath = "Terraria";
                }
                else
                {
                    Terraria.Main.SavePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "My Games", "Terraria");
                }
                Terraria.Main.WorldPath  = Path.Combine(Terraria.Main.SavePath, "Worlds");
                Terraria.Main.PlayerPath = Path.Combine(Terraria.Main.SavePath, "Players");
                Initialize(Game);
                Game.DedServ();
                DeInitialize();
            }
            catch (Exception value)
            {
                try
                {
                    using (var streamWriter = new StreamWriter("crashlog.txt", true))
                    {
                        streamWriter.WriteLine(DateTime.Now);
                        streamWriter.WriteLine(value);
                        streamWriter.WriteLine("");
                    }
                    Console.WriteLine("Server crash: " + DateTime.Now);
                    Console.WriteLine(value);
                    Console.WriteLine("");
                    Console.WriteLine("Please send crashlog.txt to [email protected]");
                }
                catch
                {
                }
            }
        }