@Override public void run(int connId, String[] args) { File sDir = new File("savegames"); if (!sDir.exists()) { server.sendServerChat("savegames directory not found."); } server.sendServerChat(connId, "Listing all saved games..."); File[] saveGames = sDir.listFiles(); boolean listedAFile = false; for (int i = 0; i < saveGames.length; i++) { if (saveGames[i].isFile()) { File save = saveGames[i]; if (save.getName().endsWith(".sav") || save.getName().endsWith(".sav.gz")) { server.sendServerChat(" " + save.getName()); listedAFile = true; } } } if (!listedAFile) { server.sendServerChat("No saved games!"); } } }
/** * Run this command with the arguments supplied */ @Override public void run(int connId, String[] args) { String path = "exportlist.txt"; try { if (args.length > 1) { path = args[1]; } } catch (Exception ex) { server.sendServerChat(connId, "/exportlist: error parsing command"); return; } exportList(connId, path); }
/** * Run this command with the arguments supplied */ @Override public void run(int connId, String[] args) { int dice = 2; int sides = 6; try { if (args.length > 1) { int d = args[1].indexOf('d'); dice = Integer.parseInt(args[1].substring(0, d)); sides = Integer.parseInt(args[1].substring(d + 1)); } } catch (NumberFormatException ex) { server.sendServerChat(connId, "/roll: error parsing arguments."); return; } catch (StringIndexOutOfBoundsException ex) { server.sendServerChat(connId, "/roll: error parsing arguments."); return; } roll(connId, dice, sides); }
/** * Run this command with the arguments supplied */ @Override public void run(int connId, String[] args) { if (!canRunRestrictedCommand(connId)) { server.sendServerChat(connId, "Observers are restricted from loading games."); return; } if (args.length > 1) { server.sendLoadGame(connId, args[1]); } else { server.sendServerChat(connId, "you must provide a file name"); } } }
/** * Run this command with the arguments supplied */ @Override public void run(int connId, String[] args) { if (!canRunRestrictedCommand(connId)) { server.sendServerChat(connId, "Observers are restricted from loading games."); return; } if (args.length > 1) { String sFinalFile = args[1]; if (!sFinalFile.endsWith(".sav") && !sFinalFile.endsWith(".sav.gz")) { sFinalFile = sFinalFile + ".sav"; } if (!sFinalFile.endsWith(".gz")) { sFinalFile = sFinalFile + ".gz"; } load(new File("savegames", sFinalFile), connId); } else { server.sendServerChat(connId, "you must provide a file name"); } }
@Override public void run(int connId, String[] args) { server.sendServerChat(connId, "Listing all connections..."); server .sendServerChat(connId, "[id#] : [name], [address], [pending], [bytes sent], [bytes received]"); for (Enumeration<IConnection> i = server.getConnections(); i.hasMoreElements();) { IConnection conn = i.nextElement(); StringBuffer cb = new StringBuffer(); cb.append(conn.getId()).append(" : "); cb.append(server.getPlayer(conn.getId()).getName()).append(", "); cb.append(conn.getInetAddress()); cb.append(", ").append(conn.hasPending()).append(", "); cb.append(conn.bytesSent()); cb.append(", ").append(conn.bytesReceived()); server.sendServerChat(connId, cb.toString()); } server.sendServerChat(connId, "end list"); }
/** * Run this command with the arguments supplied */ @Override public void run(int connId, String[] args) { if (!canRunRestrictedCommand(connId)) { server.sendServerChat(connId, "Observers are restricted from skipping turns."); return; } if (server.isTurnSkippable()) { server.sendServerChat(server.getPlayer(connId).getName() + " has issued the skip command..."); server.skipCurrentTurn(); } else { server.sendServerChat("/skip : skip failed."); } }
private void exportList(int connId, String path) { try { PrintWriter pw1 = new PrintWriter(new FileWriter(path)); MechSummary[] msums = MechSummaryCache.getInstance().getAllMechs(); for (MechSummary ms1 : msums) { pw1.println(ms1.getChassis() + ", " + ms1.getModel() + ", " + ms1.getBV()); } pw1.flush(); pw1.close(); server.sendServerChat(server.getPlayer(connId).getName() + " has exported a unit list."); } catch (Exception e) { server.sendServerChat(connId, "/exportlist: execution failed"); server.sendServerChat(connId, e.toString()); } } }
/** * Run this command with the arguments supplied */ @Override public void run(int connId, String[] args) { if (!canRunRestrictedCommand(connId)) { server.sendServerChat(connId, restrictedUse); return; } if (!server.isPassworded() || (args.length > 1 && server.isPassword(args[1]))) { reset(connId); } else { server.sendServerChat(connId, badPassword); } }
@Override public void run(int connId, String[] args) { if (args.length == 1) { // no args server.sendServerChat(connId, "Type /help [command] for help on a specific command. Commands available: " + commandList()); } else { // argument ServerCommand command = server.getCommand(args[1]); if (command == null) { server.sendServerChat(connId, "Command \"" + args[1] + "\" not recognized. Commands available: " + commandList()); } else { server.sendServerChat(connId, "/" + command.getName() + " : " + command.getHelp()); } } }
/** * Run this command with the arguments supplied */ @Override public void run(int connId, String[] args) { if (!canRunRestrictedCommand(connId)) { server.sendServerChat(connId, "Observers are restricted from resetting."); return; } if (!server.isPassworded() || (args.length > 1 && server.isPassword(args[1]))) { reset(connId); } else { server.sendServerChat(connId, "The password is incorrect. Usage: /reset <password>"); } }
/** * Run this command with the arguments supplied */ @Override public void run(int connId, String[] args) { if (!canRunRestrictedCommand(connId)) { server.sendServerChat(connId, restrictedResponse); return; } IPlayer player = server.getPlayer(connId); if (server.getGame().isForceVictory()) { server.sendServerChat(getAdmitsDefeat(player.getName())); player.setAdmitsDefeat(true); } else { server.sendServerChat(getWantsDefeat(player.getName())); server.sendServerChat(connId, note); } } }
private void reset(int connId) { server.sendServerChat(server.getPlayer(connId).getName() + " reset the server."); server.resetGame(); }
private void reset(int connId) { IPlayer player = server.getPlayer(connId); /* * // are we cancelling victory? if (server.getGame().isForceVictory()) { * server.sendServerChat(player.getName() + " cancels the force * victory."); server.cancelVictory(); return; } */// okay, declare force victory if (player.getTeam() == IPlayer.TEAM_NONE) { server.sendServerChat(getDeclareIndividual(player.getName())); } else { server.sendServerChat(getDeclareTeam(player.getName())); } server.forceVictory(player); }
private void load(File f, int connId) { server.sendServerChat(server.getPlayer(connId).getName() + " loaded a new game."); // Keep track of the current id to name mapping Map<String, Integer> nameToIdMap = new HashMap<>(); Map<Integer, String> idToNameMap = new HashMap<>(); for (IPlayer p: server.getGame().getPlayersVector()) { nameToIdMap.put(p.getName(), p.getId()); idToNameMap.put(p.getId(), p.getName()); } if(!server.loadGame(f, false)) { server.sendServerChat(f.getName() + " could not be loaded"); } else { server.remapConnIds(nameToIdMap, idToNameMap); // update all the clients with the new game info Enumeration<IConnection> connEnum = server.getConnections(); while (connEnum.hasMoreElements()) { IConnection conn = connEnum.nextElement(); server.sendCurrentInfo(conn.getId()); } } }
@Override public void run(int connId, String[] args) { if (args.length > 1) { int team = server.getPlayer(connId).getTeam(); if (team < 1 || team > 8) { server.sendServerChat(connId, "You are not on a team!"); return; } StringBuilder message = new StringBuilder(); String origin = "Team Chat[" + server.getPlayer(connId).getName() + "]"; for (int pos = 1; pos < args.length; pos++) { message.append(" "); message.append(args[pos]); } for (Enumeration<IConnection> i = server.getConnections(); i.hasMoreElements();) { IConnection conn = i.nextElement(); if (server.getPlayer(conn.getId()).getTeam() == team) server.sendChat(conn.getId(), origin, message.toString()); } } }
@Override public void run(int connId, String[] args) { String result = new AddBotUtil().addBot(args, server.getGame(), server.getHost(), server.getPort()); server.sendServerChat(connId, result); } }
/** * Run this command with the arguments supplied */ @Override public void run(int connId, String[] args) { int countbad = 0; for (Entity entity : server.getGame().getEntitiesVector()) { if (entity.fixElevation()) { Building bldg = server.getGame().getBoard().getBuildingAt(entity.getPosition()); if (bldg != null) { server.checkForCollapse(bldg, server.getGame().getPositionMap(), entity.getPosition(), true, server.getvPhaseReport()); } server.sendServerChat(entity.getDisplayName() + " elevation fixed, see megameklog.txt for details & report a bug if you know how this happened"); countbad++; } } server.sendServerChat(connId, "" + countbad + " unit(s) had elevation problems"); }
/** * Run this command with the arguments supplied */ @Override public void run(int connId, String[] args) { if (server.getGame().getOptions().booleanOption(OptionsConstants.ADVANCED_DOUBLE_BLIND) && server.getGame().getOptions().booleanOption(OptionsConstants.BASE_DISABLE_LOCAL_SAVE)) { server .sendServerChat("Local Save only outside double blind games."); } else { String fileName = "savegame.sav"; String localPath = "savegames"+ File.separator; if (args.length > 1) { fileName = args[1]; } if (args.length > 2) { localPath = args[2]; } server.sendSaveGame(connId, fileName, localPath); } } }
/** * Run this command with the arguments supplied * * @see megamek.server.commands.ServerCommand#run(int, java.lang.String[]) */ @Override public void run(int connId, String[] args) { IPlayer p = server.getGame().getPlayer(connId); if(null == p) { return; } for (Entity ent : server.getGame().getEntitiesVector()) { try { if(ent.getOwnerId() == connId) { server.sendServerChat(connId, ent.getId() + " - " + ent.getDisplayName()); } } catch (NumberFormatException nfe) { } catch (NullPointerException npe) { } catch (IndexOutOfBoundsException ioobe) { } } } }