mirror of
https://github.com/TheDeus-Group/TFM-4.3-Reloaded.git
synced 2024-12-23 08:25:12 +00:00
Replace IPs of admins that are higher or equal to you in rank with their fuzzied IPs, and make /saconfig info always return the admin's fuzzied IPs. Also, if you're not a senior admin, you are unable to view full IPs. Closes #44.
This commit is contained in:
parent
36928a3bd6
commit
9699439e82
5 changed files with 53 additions and 2 deletions
|
@ -7,9 +7,11 @@ import me.StevenLawson.TotalFreedomMod.ban.BanManager;
|
||||||
import me.StevenLawson.TotalFreedomMod.ban.PermbanList;
|
import me.StevenLawson.TotalFreedomMod.ban.PermbanList;
|
||||||
import me.StevenLawson.TotalFreedomMod.bridge.EssentialsBridge;
|
import me.StevenLawson.TotalFreedomMod.bridge.EssentialsBridge;
|
||||||
import me.StevenLawson.TotalFreedomMod.config.ConfigurationEntry;
|
import me.StevenLawson.TotalFreedomMod.config.ConfigurationEntry;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.discord.bridge.DiscordBridge;
|
||||||
import me.StevenLawson.TotalFreedomMod.player.UUIDManager;
|
import me.StevenLawson.TotalFreedomMod.player.UUIDManager;
|
||||||
import me.StevenLawson.TotalFreedomMod.util.SynchronousUtil;
|
import me.StevenLawson.TotalFreedomMod.util.SynchronousUtil;
|
||||||
import me.StevenLawson.TotalFreedomMod.util.Utilities;
|
import me.StevenLawson.TotalFreedomMod.util.Utilities;
|
||||||
|
import net.md_5.bungee.api.chat.TextComponent;
|
||||||
import net.minecraft.server.v1_8_R3.EntityPlayer;
|
import net.minecraft.server.v1_8_R3.EntityPlayer;
|
||||||
import net.minecraft.server.v1_8_R3.MinecraftServer;
|
import net.minecraft.server.v1_8_R3.MinecraftServer;
|
||||||
import net.minecraft.server.v1_8_R3.PropertyManager;
|
import net.minecraft.server.v1_8_R3.PropertyManager;
|
||||||
|
@ -80,6 +82,18 @@ public class Server
|
||||||
{
|
{
|
||||||
final String ip = event.getAddress().getHostAddress().trim();
|
final String ip = event.getAddress().getHostAddress().trim();
|
||||||
final boolean isAdmin = AdminList.isSuperAdminSafe(null, ip);
|
final boolean isAdmin = AdminList.isSuperAdminSafe(null, ip);
|
||||||
|
TextComponent textComponent = new TextComponent(String.format("%s is attempting to join with IP %s.", event.getName(), Utilities.getFuzzyIp(ip)));
|
||||||
|
textComponent.setColor(ChatColor.GRAY.asBungee());
|
||||||
|
|
||||||
|
for (org.bukkit.entity.Player player : Bukkit.getOnlinePlayers())
|
||||||
|
{
|
||||||
|
if (AdminList.isSuperAdmin(player))
|
||||||
|
{
|
||||||
|
player.spigot().sendMessage(textComponent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
DiscordBridge.transmitAdminMessage(textComponent.getText());
|
||||||
|
|
||||||
// Check if the player is already online
|
// Check if the player is already online
|
||||||
for (Player onlinePlayer : TotalFreedomMod.server.getOnlinePlayers())
|
for (Player onlinePlayer : TotalFreedomMod.server.getOnlinePlayers())
|
||||||
|
|
|
@ -55,10 +55,16 @@ public class Admin
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
final StringBuilder output = new StringBuilder();
|
final StringBuilder output = new StringBuilder();
|
||||||
|
final ArrayList<String> fuzziedIps = new ArrayList<>();
|
||||||
|
|
||||||
|
for (String ip : ips)
|
||||||
|
{
|
||||||
|
fuzziedIps.add(Utilities.getFuzzyIp(ip));
|
||||||
|
}
|
||||||
|
|
||||||
output.append("UUID: ").append(uuid.toString()).append("\n");
|
output.append("UUID: ").append(uuid.toString()).append("\n");
|
||||||
output.append("- Last Login Name: ").append(lastLoginName).append("\n");
|
output.append("- Last Login Name: ").append(lastLoginName).append("\n");
|
||||||
output.append("- IPs: ").append(StringUtils.join(ips, ", ")).append("\n");
|
output.append("- IPs: ").append(StringUtils.join(fuzziedIps, ", ")).append("\n");
|
||||||
output.append("- Last Login: ").append(Utilities.dateToString(lastLogin)).append("\n");
|
output.append("- Last Login: ").append(Utilities.dateToString(lastLogin)).append("\n");
|
||||||
output.append("- Custom Login Message: ").append(loginMessage).append("\n");
|
output.append("- Custom Login Message: ").append(loginMessage).append("\n");
|
||||||
output.append("- Is Senior Admin: ").append(isSeniorAdmin).append("\n");
|
output.append("- Is Senior Admin: ").append(isSeniorAdmin).append("\n");
|
||||||
|
|
|
@ -1,11 +1,14 @@
|
||||||
package me.StevenLawson.TotalFreedomMod.commands;
|
package me.StevenLawson.TotalFreedomMod.commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.player.PlayerList;
|
import me.StevenLawson.TotalFreedomMod.player.PlayerList;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.player.PlayerRank;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||||
public class Command_findip extends FreedomCommand {
|
public class Command_findip extends FreedomCommand {
|
||||||
@Override
|
@Override
|
||||||
|
@ -22,7 +25,17 @@ public class Command_findip extends FreedomCommand {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
playerMsg(sender, "Player IPs: " + StringUtils.join(PlayerList.getEntry(player).getIps(), ", "));
|
PlayerRank rank = PlayerRank.fromSender(sender);
|
||||||
|
PlayerRank targetRank = PlayerRank.fromSender(player);
|
||||||
|
|
||||||
|
ArrayList<String> ipsToShow = (ArrayList<String>) PlayerList.getEntry(player).getIps();
|
||||||
|
|
||||||
|
if(rank.getOrdinal() < PlayerRank.SENIOR.getOrdinal() || targetRank.getOrdinal() >= rank.getOrdinal()) {
|
||||||
|
ipsToShow = (ArrayList<String>) PlayerList.getEntry(player).getFuzziedIps();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
playerMsg(sender, "Player IPs: " + StringUtils.join(ipsToShow, ", "));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@ import me.StevenLawson.TotalFreedomMod.util.Utilities;
|
||||||
import me.StevenLawson.TotalFreedomMod.world.AdminWorld;
|
import me.StevenLawson.TotalFreedomMod.world.AdminWorld;
|
||||||
import me.StevenLawson.TotalFreedomMod.world.RollbackManager;
|
import me.StevenLawson.TotalFreedomMod.world.RollbackManager;
|
||||||
import me.StevenLawson.TotalFreedomMod.world.RollbackManager.RollbackEntry;
|
import me.StevenLawson.TotalFreedomMod.world.RollbackManager.RollbackEntry;
|
||||||
|
import net.md_5.bungee.api.chat.TextComponent;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.*;
|
import org.bukkit.*;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
|
@ -33,8 +34,11 @@ import org.bukkit.event.player.*;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
import org.javacord.api.entity.message.component.Component;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
package me.StevenLawson.TotalFreedomMod.player;
|
package me.StevenLawson.TotalFreedomMod.player;
|
||||||
|
|
||||||
|
import java.sql.Array;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.util.Utilities;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
|
||||||
public class Player
|
public class Player
|
||||||
|
@ -59,6 +62,17 @@ public class Player
|
||||||
return uuid;
|
return uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> getFuzziedIps() {
|
||||||
|
final ArrayList<String> fuzziedIps = new ArrayList<>();
|
||||||
|
|
||||||
|
for (String ip : ips)
|
||||||
|
{
|
||||||
|
fuzziedIps.add(Utilities.getFuzzyIp(ip));
|
||||||
|
}
|
||||||
|
|
||||||
|
return ImmutableList.copyOf(fuzziedIps);
|
||||||
|
}
|
||||||
|
|
||||||
public List<String> getIps()
|
public List<String> getIps()
|
||||||
{
|
{
|
||||||
return Collections.unmodifiableList(ips);
|
return Collections.unmodifiableList(ips);
|
||||||
|
|
Loading…
Reference in a new issue