public static void Init(int type, string[] args) { AppDomain.CurrentDomain.UnhandledException += ServerCore.OnUnhandledExceptionThrown; ServerCore.Type = type; ServerCore.Id = 0; ServerCore.ConfigurationServer = "http://127.0.0.1/supercell/"; if (args.Length > 0) { if (args.Length % 2 == 0) { for (int i = 0; i < args.Length; i += 2) { string name = args[i]; string value = args[i + 1]; switch (name) { case "-conf": if (value.Length > 0) { if (value.StartsWith("http://") || value.StartsWith("https://")) { if (!value.EndsWith("/")) { value += "/"; } ServerCore.ConfigurationServer = value; } else { Logging.Warning("ServerCore.init: invalid server url: " + value); } } else { Logging.Warning("ServerCore.init server url is empty"); } break; case "-id": ServerCore.Id = int.Parse(value); break; } } } else { Logging.Warning("ServerCore.init invalid args length"); } } ServerCore.Random = new LogicRandom((int)DateTime.UtcNow.Ticks); Directory.SetCurrentDirectory(AppContext.BaseDirectory); Logging.Init(); EnvironmentSettings.Init(); ResourceSettings.Init(); GamePlaySettings.Init(); ResourceManager.Init(); ServerRequestManager.Init(); ServerManager.Init(); ServerCore.Socket = ServerManager.GetSocket(ServerCore.Type, ServerCore.Id); }