Patched command block place bypass
This commit is contained in:
@@ -92,7 +92,6 @@ public final class Sentinel extends JavaPlugin {
|
|||||||
log.info("WTFFFF ARE YOU DOING MAN??????");
|
log.info("WTFFFF ARE YOU DOING MAN??????");
|
||||||
manager.disablePlugin(this);
|
manager.disablePlugin(this);
|
||||||
}
|
}
|
||||||
authStatus = "AUTHORIZED";
|
|
||||||
switch (authStatus) {
|
switch (authStatus) {
|
||||||
case "AUTHORIZED" -> {
|
case "AUTHORIZED" -> {
|
||||||
log.info("\n]======----- Auth Success! -----======[");
|
log.info("\n]======----- Auth Success! -----======[");
|
||||||
|
|||||||
@@ -82,22 +82,12 @@ public class SentinelCommand implements CustomCommand {
|
|||||||
debugMode = !debugMode;
|
debugMode = !debugMode;
|
||||||
p.sendMessage(Text.prefix((debugMode ? "Enabled" : "Disabled") + " debug mode."));
|
p.sendMessage(Text.prefix((debugMode ? "Enabled" : "Disabled") + " debug mode."));
|
||||||
}
|
}
|
||||||
/*case "encrypt" -> {
|
|
||||||
final String enc = CipherUtils.encrypt(args.getAll(2).toString());
|
|
||||||
final String check = CipherUtils.decrypt(enc);
|
|
||||||
final String main = Text.prefix("Successfully encrypted \"&e" + check + "&7\" using AES.\n &7> &b" + enc);
|
|
||||||
Sentinel.log.info(args.getAll(2).toString() + "\n" + enc + "\n" + check);
|
|
||||||
TextComponent message = new TextComponent();
|
|
||||||
message.setText(main);
|
|
||||||
message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new net.md_5.bungee.api.chat.hover.content.Text("&bClick to copy!")));
|
|
||||||
message.setClickEvent(new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, enc));
|
|
||||||
p.spigot().sendMessage(message);
|
|
||||||
}*/
|
|
||||||
case "chat" -> {
|
case "chat" -> {
|
||||||
AsyncPlayerChatEvent message = new AsyncPlayerChatEvent(true,p,args.getAll(1).toString(), Set.of(p));
|
AsyncPlayerChatEvent message = new AsyncPlayerChatEvent(true,p,args.getAll(2).toString(), Set.of(p));
|
||||||
AdvancedBlockers.handleAdvanced(message);
|
AdvancedBlockers.handleAdvanced(message);
|
||||||
AntiSpam.handleAntiSpam(message);
|
AntiSpam.handleAntiSpam(message);
|
||||||
ProfanityFilter.handleProfanityFilter(message);
|
ProfanityFilter.handleProfanityFilter(message);
|
||||||
|
if (!message.isCancelled()) p.sendMessage(Text.prefix("Message did not get flagged."));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,5 +59,5 @@ public class AdvancedConfig implements JsonSerializable<AdvancedConfig> {
|
|||||||
public String falsePosRegex = "";
|
public String falsePosRegex = "";
|
||||||
public String swearRegex = "";
|
public String swearRegex = "";
|
||||||
public String strictRegex = "";
|
public String strictRegex = "";
|
||||||
public String urlRegex = "(?:https?://)?(?:www.)?(?:(?<subdomain>[a-z0-9-]+).)?(?<domain>[a-z0-9-]+).(?:(?<tld>[a-z]{1,63}))?(?::(?<port>[0-9]{1,5}))?(?:[/#](?<path>[A-Za-z0-9_/.~:/?#\\[\\]@!$&'()*+,;=.]*)?)?";
|
public String urlRegex = "\\b(?:(?:https?|ftp):\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:com|org|net|int|edu|gov|mil|arpa|biz|info|mobi|app|name|aero|jobs|museum|travel|a[c-gil-oq-uwxz]|b[abd-jmnoq-tvwyz]|c[acdf-ik-orsu-z]|d[dejkmoz]|e[ceghr-u]|f[ijkmor]|g[abd-ilmnp-uwy]|h[kmnrtu]|i[delmnoq-t]|j[emop]|k[eghimnprwyz]|l[abcikr-vy]|m[acdeghk-z]|n[acefgilopruz]|om|p[ae-hk-nrstwy]|qa|r[eosuw]|s[a-eg-or-vxyz]|t[cdfghj-prtvwz]|u[agksyz]|v[aceginu]|w[fs]|y[etu]|z[amrw])))(?::\\d{2,5})?(?:\\/\\S*)?\\b";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ public class LanguageFile implements JsonSerializable<LanguageFile> {
|
|||||||
put("spam-mute-notification", "§b§n%1$s§7 has been auto-muted by the anti spam! §8(§c%2$s§7/§4%3$s§8)");
|
put("spam-mute-notification", "§b§n%1$s§7 has been auto-muted by the anti spam! §8(§c%2$s§7/§4%3$s§8)");
|
||||||
put("url-warn", "§cDo not send urls in chat!");
|
put("url-warn", "§cDo not send urls in chat!");
|
||||||
put("url-notification", "§b§n%1$s§7 has triggered the anti-URL.");
|
put("url-notification", "§b§n%1$s§7 has triggered the anti-URL.");
|
||||||
put("url-notification-hover", "§8]==-- §d§lSentinel §8--==[\n§bDetected: %1$s");
|
put("url-notification-hover", "§8]==-- §d§lSentinel §8--==[\n§bDetected: §f%1$s");
|
||||||
put("unicode-warn", "§cDo not send non-standard unicode in chat!");
|
put("unicode-warn", "§cDo not send non-standard unicode in chat!");
|
||||||
put("unicode-notification", "§b§n%1$s§7 has triggered the anti-unicode.");
|
put("unicode-notification", "§b§n%1$s§7 has triggered the anti-unicode.");
|
||||||
put("unicode-notification-hover", "§8]==-- §d§lSentinel §8--==[\n§bMessage: §f%1$s");
|
put("unicode-notification-hover", "§8]==-- §d§lSentinel §8--==[\n§bMessage: §f%1$s");
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ public class MainConfig implements JsonSerializable<MainConfig> {
|
|||||||
add("setblock");
|
add("setblock");
|
||||||
add("data");
|
add("data");
|
||||||
add("whitelist");
|
add("whitelist");
|
||||||
|
add("lp")
|
||||||
}};
|
}};
|
||||||
public boolean logDangerous = true;
|
public boolean logDangerous = true;
|
||||||
public boolean logCmdBlocks = true;
|
public boolean logCmdBlocks = true;
|
||||||
|
|||||||
@@ -20,7 +20,9 @@ public class CMDBlockPlace implements CustomListener {
|
|||||||
if (Sentinel.mainConfig.plugin.cmdBlockOpCheck && !e.getPlayer().isOp()) return;
|
if (Sentinel.mainConfig.plugin.cmdBlockOpCheck && !e.getPlayer().isOp()) return;
|
||||||
ServerUtils.sendDebugMessage("CommandBlockPlace: Player is operator");
|
ServerUtils.sendDebugMessage("CommandBlockPlace: Player is operator");
|
||||||
Block b = e.getBlockPlaced();
|
Block b = e.getBlockPlaced();
|
||||||
if ((b.getType() == Material.COMMAND_BLOCK || b.getType() == Material.CHAIN_COMMAND_BLOCK || b.getType() == Material.REPEATING_COMMAND_BLOCK)) return;
|
if (!(b.getType().equals(Material.COMMAND_BLOCK) ||
|
||||||
|
b.getType().equals(Material.REPEATING_COMMAND_BLOCK) ||
|
||||||
|
b.getType().equals(Material.CHAIN_COMMAND_BLOCK))) return;
|
||||||
ServerUtils.sendDebugMessage("CommandBlockPlace: Block is a command block");
|
ServerUtils.sendDebugMessage("CommandBlockPlace: Block is a command block");
|
||||||
Player p = e.getPlayer();
|
Player p = e.getPlayer();
|
||||||
if (Sentinel.isTrusted(p)) return;
|
if (Sentinel.isTrusted(p)) return;
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import static io.github.thetrouper.sentinel.server.functions.ProfanityFilter.*;
|
|||||||
public class FilterAction {
|
public class FilterAction {
|
||||||
|
|
||||||
public static void filterPunish(AsyncPlayerChatEvent e, FAT type, Double similarity, FilterSeverity severity) {
|
public static void filterPunish(AsyncPlayerChatEvent e, FAT type, Double similarity, FilterSeverity severity) {
|
||||||
String report = ReportFalsePositives.generateReport(e);
|
String report = "This action is not reportable.";
|
||||||
TextComponent staffNotif = Component.text("");
|
TextComponent staffNotif = Component.text("");
|
||||||
TextComponent playerWarning = Component.text("");
|
TextComponent playerWarning = Component.text("");
|
||||||
Player offender = e.getPlayer();
|
Player offender = e.getPlayer();
|
||||||
@@ -33,7 +33,7 @@ public class FilterAction {
|
|||||||
case BLOCK_UNICODE -> {
|
case BLOCK_UNICODE -> {
|
||||||
staffNotif = Component
|
staffNotif = Component
|
||||||
.text(Text.prefix(Sentinel.language.get("unicode-notification")
|
.text(Text.prefix(Sentinel.language.get("unicode-notification")
|
||||||
.formatted(offender)))
|
.formatted(offender.getName())))
|
||||||
.hoverEvent(Component.text(Sentinel.language.get("unicode-notification-hover")
|
.hoverEvent(Component.text(Sentinel.language.get("unicode-notification-hover")
|
||||||
.formatted(e.getMessage())));
|
.formatted(e.getMessage())));
|
||||||
playerWarning = Component
|
playerWarning = Component
|
||||||
@@ -42,7 +42,7 @@ public class FilterAction {
|
|||||||
case BLOCK_URL -> {
|
case BLOCK_URL -> {
|
||||||
staffNotif = Component
|
staffNotif = Component
|
||||||
.text(Text.prefix(Sentinel.language.get("url-notification")
|
.text(Text.prefix(Sentinel.language.get("url-notification")
|
||||||
.formatted(offender)))
|
.formatted(offender.getName())))
|
||||||
.hoverEvent(Component.text(Sentinel.language.get("url-notification-hover")
|
.hoverEvent(Component.text(Sentinel.language.get("url-notification-hover")
|
||||||
.formatted(Text.color(Text.regexHighlighter(e.getMessage(),Sentinel.advConfig.urlRegex," &e> &n","&r &e<&f ")))));
|
.formatted(Text.color(Text.regexHighlighter(e.getMessage(),Sentinel.advConfig.urlRegex," &e> &n","&r &e<&f ")))));
|
||||||
playerWarning = Component
|
playerWarning = Component
|
||||||
@@ -83,6 +83,7 @@ public class FilterAction {
|
|||||||
if (Sentinel.mainConfig.chat.antiSpam.logSpam) sendDiscordLog(offender,e,type);
|
if (Sentinel.mainConfig.chat.antiSpam.logSpam) sendDiscordLog(offender,e,type);
|
||||||
}
|
}
|
||||||
case BLOCK_SWEAR -> {
|
case BLOCK_SWEAR -> {
|
||||||
|
report = ReportFalsePositives.generateReport(e);
|
||||||
staffNotif = Component.text(Text.prefix(String.format(Sentinel.language.get("profanity-block-notification"),
|
staffNotif = Component.text(Text.prefix(String.format(Sentinel.language.get("profanity-block-notification"),
|
||||||
offender.getName(),
|
offender.getName(),
|
||||||
scoreMap.get(offender),
|
scoreMap.get(offender),
|
||||||
@@ -99,6 +100,7 @@ public class FilterAction {
|
|||||||
.clickEvent(ClickEvent.runCommand("sentinelcallback fpreport " + report));
|
.clickEvent(ClickEvent.runCommand("sentinelcallback fpreport " + report));
|
||||||
}
|
}
|
||||||
case SWEAR_PUNISH -> {
|
case SWEAR_PUNISH -> {
|
||||||
|
report = ReportFalsePositives.generateReport(e);
|
||||||
staffNotif = Component.text(Text.prefix(String.format(Sentinel.language.get("profanity-mute-notification"),
|
staffNotif = Component.text(Text.prefix(String.format(Sentinel.language.get("profanity-mute-notification"),
|
||||||
offender.getName(),
|
offender.getName(),
|
||||||
scoreMap.get(offender),
|
scoreMap.get(offender),
|
||||||
@@ -116,6 +118,7 @@ public class FilterAction {
|
|||||||
if (Sentinel.mainConfig.chat.antiSwear.logSwears) sendDiscordLog(offender,e,type);
|
if (Sentinel.mainConfig.chat.antiSwear.logSwears) sendDiscordLog(offender,e,type);
|
||||||
}
|
}
|
||||||
case SLUR_PUNISH -> {
|
case SLUR_PUNISH -> {
|
||||||
|
report = ReportFalsePositives.generateReport(e);
|
||||||
staffNotif = Component.text(Text.prefix(String.format(Sentinel.language.get("slur-mute-notification"),
|
staffNotif = Component.text(Text.prefix(String.format(Sentinel.language.get("slur-mute-notification"),
|
||||||
offender.getName(),
|
offender.getName(),
|
||||||
scoreMap.get(offender),
|
scoreMap.get(offender),
|
||||||
@@ -137,6 +140,7 @@ public class FilterAction {
|
|||||||
ServerUtils.sendCommand(type.getExecutedCommand().replace("%player%", offender.getName()));
|
ServerUtils.sendCommand(type.getExecutedCommand().replace("%player%", offender.getName()));
|
||||||
}
|
}
|
||||||
staffNotif = staffNotif.clickEvent(ClickEvent.clickEvent(ClickEvent.Action.RUN_COMMAND, "/sentinelcallback fpreport " + report));
|
staffNotif = staffNotif.clickEvent(ClickEvent.clickEvent(ClickEvent.Action.RUN_COMMAND, "/sentinelcallback fpreport " + report));
|
||||||
|
playerWarning = playerWarning.clickEvent(ClickEvent.clickEvent(ClickEvent.Action.RUN_COMMAND, "/sentinelcallback fpreport " + report));
|
||||||
|
|
||||||
for (Player staff : ServerUtils.getStaff()) {
|
for (Player staff : ServerUtils.getStaff()) {
|
||||||
staff.sendMessage(staffNotif);
|
staff.sendMessage(staffNotif);
|
||||||
|
|||||||
Reference in New Issue
Block a user