using System; namespace MSCO { /// /// Alle MSCO-Befehle an einer Stelle - genutzt von der eigenen F8-Konsole (ohne "mp" davor) /// und von der MSCLoader-Konsole ("mp ..."). /// public static class Commands { public const string Help = "connect - join a dedicated server\n" + "disconnect - leave the server / game\n" + "host [port] / join [port] - direct LAN game (no Steam)\n" + "save - save the game (host / singleplayer)\n" + "/admin - admin menu (kick / ban)\n" + "vehicles | rig - debug info about vehicles / player models\n" + "debug - toggle sync debug output\n" + "master [url] - show / change the server list address\n" + "clear - clear this console"; public static void Execute(string[] args, Action print) { var mp = MultiplayerManager.Instance; if (mp == null) { print("Not ready yet"); return; } if (args.Length == 0) { print(Help); return; } int port = MultiplayerManager.DefaultPort; switch (args[0].ToLower()) { case "help": case "?": print(Help); break; case "host": if (args.Length > 1) int.TryParse(args[1], out port); mp.Host(port); break; case "join": if (args.Length < 2) { print("join [port]"); return; } if (args.Length > 2) int.TryParse(args[2], out port); mp.Join(args[1], port); break; case "stop": case "disconnect": case "quit": mp.Disconnect(); print("Disconnected."); break; case "connect": { string host; int serverPort; if (args.Length < 2 || !ServerBrowser.TryParseAddress(args[1], out host, out serverPort)) { print("connect "); return; } mp.JoinServer(host, serverPort); break; } case "master": if (args.Length > 1) ServerBrowser.MasterUrl = args[1]; print("Master server: " + ServerBrowser.MasterUrl); break; case "save": mp.SaveGame(); break; case "admin": case "/admin": mp.OpenAdminMenu(); break; case "rig": foreach (string line in mp.DescribeRigs()) print(line); break; case "vehicles": foreach (string line in mp.DescribeVehicles()) print(line); break; case "debug": FsmSync.Debug = !FsmSync.Debug; print("Sync debug output " + (FsmSync.Debug ? "ON" : "OFF")); break; default: print("Unknown command '" + args[0] + "' - type 'help'"); break; } } } }