Search in sources :

Example 16 with INode

use of games.strategy.net.INode in project triplea by triplea-game.

the class ModeratorController method stopGameHeadlessHostBot.

@Override
public String stopGameHeadlessHostBot(final INode node, final String hashedPassword, final String salt) {
    assertUserIsAdmin();
    if (serverMessenger.getServerNode().equals(node)) {
        throw new IllegalStateException("Cannot do this for server node");
    }
    final INode modNode = MessageContext.getSender();
    final String mac = getNodeMacAddress(node);
    final RemoteName remoteName = RemoteHostUtils.getRemoteHostUtilsName(node);
    final IRemoteHostUtils remoteHostUtils = (IRemoteHostUtils) allMessengers.getRemoteMessenger().getRemote(remoteName);
    final String response = remoteHostUtils.stopGameHeadlessHostBot(hashedPassword, salt);
    logger.info(String.format((response == null ? "Successful" : "Failed (" + response + ")") + " Remote Stopgame of Headless HostBot. Host: %s IP: %s Mac: %s Mod Username: %s Mod IP: %s Mod Mac: %s", node.getName(), node.getAddress().getHostAddress(), mac, modNode.getName(), modNode.getAddress().getHostAddress(), getNodeMacAddress(modNode)));
    return response;
}
Also used : RemoteName(games.strategy.engine.message.RemoteName) INode(games.strategy.net.INode)

Example 17 with INode

use of games.strategy.net.INode in project triplea by triplea-game.

the class ModeratorController method bootPlayerHeadlessHostBot.

@Override
public String bootPlayerHeadlessHostBot(final INode node, final String playerNameToBeBooted, final String hashedPassword, final String salt) {
    assertUserIsAdmin();
    if (serverMessenger.getServerNode().equals(node)) {
        throw new IllegalStateException("Cannot do this for server node");
    }
    final INode modNode = MessageContext.getSender();
    final String mac = getNodeMacAddress(node);
    final RemoteName remoteName = RemoteHostUtils.getRemoteHostUtilsName(node);
    final IRemoteHostUtils remoteHostUtils = (IRemoteHostUtils) allMessengers.getRemoteMessenger().getRemote(remoteName);
    final String response = remoteHostUtils.bootPlayerHeadlessHostBot(playerNameToBeBooted, hashedPassword, salt);
    logger.info(String.format((response == null ? "Successful" : "Failed (" + response + ")") + " Remote Boot of " + playerNameToBeBooted + " In Headless HostBot. Host: %s IP: %s Mac: %s Mod Username: %s Mod IP: %s Mod Mac: %s", node.getName(), node.getAddress().getHostAddress(), mac, modNode.getName(), modNode.getAddress().getHostAddress(), getNodeMacAddress(modNode)));
    return response;
}
Also used : RemoteName(games.strategy.engine.message.RemoteName) INode(games.strategy.net.INode)

Example 18 with INode

use of games.strategy.net.INode in project triplea by triplea-game.

the class ModeratorController method mutePlayerHeadlessHostBot.

@Override
public String mutePlayerHeadlessHostBot(final INode node, final String playerNameToBeMuted, final int minutes, final String hashedPassword, final String salt) {
    assertUserIsAdmin();
    if (serverMessenger.getServerNode().equals(node)) {
        throw new IllegalStateException("Cannot do this for server node");
    }
    final INode modNode = MessageContext.getSender();
    final String mac = getNodeMacAddress(node);
    final RemoteName remoteName = RemoteHostUtils.getRemoteHostUtilsName(node);
    final IRemoteHostUtils remoteHostUtils = (IRemoteHostUtils) allMessengers.getRemoteMessenger().getRemote(remoteName);
    final String response = remoteHostUtils.mutePlayerHeadlessHostBot(playerNameToBeMuted, minutes, hashedPassword, salt);
    logger.info(String.format((response == null ? "Successful" : "Failed (" + response + ")") + " Remote Mute of " + playerNameToBeMuted + " for " + minutes + " minutes In Headless HostBot. Host: %s IP: %s Mac: %s Mod Username: %s Mod IP: %s Mod Mac: %s", node.getName(), node.getAddress().getHostAddress(), mac, modNode.getName(), modNode.getAddress().getHostAddress(), getNodeMacAddress(modNode)));
    return response;
}
Also used : RemoteName(games.strategy.engine.message.RemoteName) INode(games.strategy.net.INode)

Example 19 with INode

use of games.strategy.net.INode in project triplea by triplea-game.

the class UserManager method updateUser.

@Override
public String updateUser(final String userName, final String emailAddress, final String hashedPassword) {
    final INode remote = MessageContext.getSender();
    if (!userName.equals(remote.getName())) {
        logger.severe("Tried to update user permission, but not correct user, userName:" + userName + " node:" + remote);
        return "Sorry, but I can't let you do that";
    }
    final DBUser user = new DBUser(new DBUser.UserName(userName), new DBUser.UserEmail(emailAddress));
    if (!user.isValid()) {
        return user.getValidationErrorMessage();
    }
    final HashedPassword password = new HashedPassword(hashedPassword);
    try {
        new UserController().updateUser(user, password.isHashedWithSalt() ? password : new HashedPassword(BCrypt.hashpw(hashedPassword, BCrypt.gensalt())));
    } catch (final IllegalStateException e) {
        return e.getMessage();
    }
    return null;
}
Also used : INode(games.strategy.net.INode) DBUser(games.strategy.engine.lobby.server.userDB.DBUser) UserController(games.strategy.engine.lobby.server.db.UserController) HashedPassword(games.strategy.engine.lobby.server.db.HashedPassword)

Example 20 with INode

use of games.strategy.net.INode in project triplea by triplea-game.

the class AbstractModeratorController method getAliasesFor.

protected String getAliasesFor(final INode node) {
    final StringBuilder builder = new StringBuilder();
    final String nodeMac = getNodeMacAddress(node);
    for (final INode cur : serverMessenger.getNodes()) {
        if (cur.equals(node) || cur.getName().equals("Admin")) {
            continue;
        }
        if (cur.getAddress().equals(node.getAddress()) || (!UNKNOWN_HASHED_MAC_ADDRESS.equals(nodeMac) && getNodeMacAddress(cur).equals(nodeMac))) {
            if (builder.length() > 0) {
                builder.append(", ");
            }
            builder.append(cur.getName());
        }
    }
    if (builder.length() > 100) {
        // So replace comma's to keep names within screen
        return builder.toString().replace(", ", "\r\n");
    }
    return builder.toString();
}
Also used : INode(games.strategy.net.INode)

Aggregations

INode (games.strategy.net.INode)46 IModeratorController (games.strategy.engine.lobby.server.IModeratorController)10 RemoteName (games.strategy.engine.message.RemoteName)8 BorderLayout (java.awt.BorderLayout)8 JLabel (javax.swing.JLabel)7 JPanel (javax.swing.JPanel)7 JPasswordField (javax.swing.JPasswordField)5 IServerMessenger (games.strategy.net.IServerMessenger)4 HashMap (java.util.HashMap)4 List (java.util.List)4 Node (games.strategy.net.Node)3 Dimension (java.awt.Dimension)3 ArrayList (java.util.ArrayList)3 HashSet (java.util.HashSet)3 Set (java.util.Set)3 DefaultComboBoxModel (javax.swing.DefaultComboBoxModel)3 JComboBox (javax.swing.JComboBox)3 Chat (games.strategy.engine.chat.Chat)2 GameRunner (games.strategy.engine.framework.GameRunner)2 IGamePlayer (games.strategy.engine.gamePlayer.IGamePlayer)2