(mindustry.gen.Player player, String name)
| 142 | } |
| 143 | |
| 144 | public static boolean checkName(mindustry.gen.Player player, String name) { |
| 145 | boolean kicked = true; |
| 146 | String message = ""; |
| 147 | |
| 148 | if (name.startsWith(FilterType.prefix) || |
| 149 | name.startsWith("~")) |
| 150 | message = "[scarlet]Your nickname must not start by [orange]" + FilterType.prefix + "[scarlet] or [orange] ~"; |
| 151 | else if (name.length() < 3) message = "[scarlet]Your nickname must be at least 3 characters long"; |
| 152 | else if (name.toLowerCase().equals("[server]") || |
| 153 | name.toLowerCase().equals("server")) |
| 154 | message = "[scarlet]This nickname is banned!"; |
| 155 | else if (!player.admin && |
| 156 | netServer.admins.getAdmins().contains(p -> { |
| 157 | String adminName = Strings.stripGlyphs(Strings.stripColors(p.lastName)).strip().toLowerCase(); |
| 158 | return adminName.contains(name.toLowerCase()) || name.toLowerCase().contains(adminName); |
| 159 | })) |
| 160 | message = "[scarlet]Spoofing an admin name is prohibited! [lightgray](even if not entirely)"; |
| 161 | else if (bannedClients.contains(name)) message = "Ingenuine copy of Mindustry.\n\nMindustry is free on: [royal]https://anuke.itch.io/mindustry[]\n"; |
| 162 | else kicked = false; |
| 163 | |
| 164 | if (kicked) { |
| 165 | player.kick(message); |
| 166 | util.ALog.write("Check", "Connection refused of @ [@] for reason: @", player.name, player.uuid(), message); |
| 167 | } |
| 168 | |
| 169 | return kicked; |
| 170 | } |
| 171 | } |
no test coverage detected