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;
}
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;
}
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;
}
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;
}
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();
}
Aggregations