internal void OnLogin(IAuthClient client) { var addr = client.ClientAddress; if (addr == null) { // client disconnected return; } LastIP = addr.GetAddressBytes(); LastLogin = DateTime.Now; Locale = client.Info.Locale; ClientVersion = client.Info.Version.ToString(); UpdateAndFlush(); AuthCommandHandler.AutoExecute(this); var evt = LoggedIn; if (evt != null) { evt(this, client); } s_log.Info("Account \"{0}\" logged in from {1}.", Name, client.ClientAddress); }
internal static void Run() { Console.WriteLine("Console ready - Type ? for help"); DatabaseUtil.ReleaseConsole(); while (true) { string line; try { while (!Console.KeyAvailable && AuthenticationServer.Instance.IsRunning) { Thread.Sleep(100); } if (!AuthenticationServer.Instance.IsRunning) { break; } line = Console.ReadLine(); } catch { // console shutdown break; } if (line == null || !AuthenticationServer.Instance.IsRunning) { break; } if (DatabaseUtil.IsWaiting) { DatabaseUtil.Input.Write(line); } else { lock (Console.Out) { if (line.StartsWith(".")) { line = line.Substring(1); AuthCommandHandler.ReadAccountAndReactTo(line); } else { AuthCommandHandler.Execute(null, line); } } } } }
public static void CreateCommandDocs(string dir) { RealmServ.EntryLocation = Path.GetFullPath(ToolConfig.WCellRealmServerConsoleExe); var realmServ = RealmServ.Instance; // make sure to create the RealmServ instance first LogUtil.SetupConsoleLogging(); Console.WriteLine("Output Directory: " + new DirectoryInfo(dir).FullName); RealmServerConfiguration.Instance.AutoSave = false; RealmServerConfiguration.Initialize(); RealmCommandHandler.Initialize(); AuthCommandHandler.Initialize(); ToolCommandHandler.Initialize(); CreateCommandDocs(Path.Combine(dir, "RealmServer"), RealmCommandHandler.Instance.Commands); CreateCommandDocs(Path.Combine(dir, "AuthServer"), AuthCommandHandler.Instance.Commands); CreateCommandDocs(Path.Combine(dir, "Tools"), ToolCommandHandler.Instance.Commands); }
public BufferedCommandResponse ExecuteCommand(string cmd) { return(AuthCommandHandler.ExecuteBufferedCommand(cmd)); }