demkom
Guest
PacketsBookFix
Плагин исправляет DDOS пакетами книги. Раньше был приватным, но я выложил его на зло тем кто начал продавать его, теперь можете использовать его как хотите.
Автор: Я (@demkom).
Зависимости: ProtocolLib.
Плагин на SpigotMC: Link.
Фикс для BungeeCord < Клац.
Права:
PacketFix.reload - Перезагрузка конфига. (Можно изменить в Конфиге)
Команды:
/packetbookfix reload - Перезагрузка конфига.
Конфиг:
BanMessage: '&cВы кикнуты по подозрению в атаке на сервер!' //Сообщение при кике.
BanPlayer: false //Банить игрока или нет.
KickPlayer: true //Кикать игрока или нет.
PacketInMillis: 1000 //Пакет в миллисекунд
ReloadPermissions: PacketFix.reload //Право для перезагрузки конфига.
ReloadedMessage: '&aПлагин успешно перезагружен.' //Сообщение при перезагрузке конфига.
За говно код меня не бить!
SpigotMC: https://www.spigotmc.org/resources/39882/
Обратите внимание на:
[Кастомные патчи для Spigot | Сборка AweSomeCraft]
Сурсы
Плагин исправляет DDOS пакетами книги. Раньше был приватным, но я выложил его на зло тем кто начал продавать его, теперь можете использовать его как хотите.
Автор: Я (@demkom).
Зависимости: ProtocolLib.
Плагин на SpigotMC: Link.
Фикс для BungeeCord < Клац.
Права:
PacketFix.reload - Перезагрузка конфига. (Можно изменить в Конфиге)
Команды:
/packetbookfix reload - Перезагрузка конфига.
Конфиг:
BanMessage: '&cВы кикнуты по подозрению в атаке на сервер!' //Сообщение при кике.
BanPlayer: false //Банить игрока или нет.
KickPlayer: true //Кикать игрока или нет.
PacketInMillis: 1000 //Пакет в миллисекунд
ReloadPermissions: PacketFix.reload //Право для перезагрузки конфига.
ReloadedMessage: '&aПлагин успешно перезагружен.' //Сообщение при перезагрузке конфига.
За говно код меня не бить!
SpigotMC: https://www.spigotmc.org/resources/39882/
Обратите внимание на:
[Кастомные патчи для Spigot | Сборка AweSomeCraft]
Java:
package com.demkom58.packet;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import com.comphenix.protocol.events.PacketListener;
import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.events.PacketEvent;
import org.bukkit.plugin.Plugin;
import com.comphenix.protocol.events.PacketAdapter;
import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.events.ListenerPriority;
import com.comphenix.protocol.ProtocolLibrary;
import org.bukkit.entity.Player;
import java.util.WeakHashMap;
import org.bukkit.plugin.java.JavaPlugin;
public class fix extends JavaPlugin
{
private int PacketInMillis;
private boolean kick;
private boolean ban;
private String reason;
private String ReloadPermissions;
private String ReloadedMessage;
private WeakHashMap<Player, Long> hmap;
public fix() {
hmap = new WeakHashMap<Player, Long>();
}
public void onEnable() {
getConfig().options().copyDefaults(true);
saveConfig();
PacketInMillis = getConfig().getInt("PacketInMillis");
kick = getConfig().getBoolean("KickPlayer");
ban = getConfig().getBoolean("BanPlayer");
reason = getConfig().getString("BanMessage").replaceAll("&", "§");
ReloadPermissions = getConfig().getString("ReloadPermissions");
ReloadedMessage = getConfig().getString("ReloadedMessage").replaceAll("&", "§");
ProtocolLibrary.getProtocolManager().addPacketListener((PacketListener)new PacketAdapter(this, ListenerPriority.HIGHEST, new PacketType[] { PacketType.Play.Client.CUSTOM_PAYLOAD }) {
public void onPacketReceiving(final PacketEvent event) {
final PacketContainer packet = event.getPacket();
final String channelName = (String)packet.getStrings().read(0);
final Player p = event.getPlayer();
if (channelName.contains("MC|BEdit") || channelName.contains("MC|BSign")) {
safePacket(p, plugin, event);
}
}
});
}
private void safePacket(final Player p, final Plugin pl, final PacketEvent event) {
if (hmap.containsKey(event.getPlayer()) && hmap.get(event.getPlayer()) < System.currentTimeMillis()) {
hmap.put(p, System.currentTimeMillis()+PacketInMillis);
} else {
hmap.put(p, System.currentTimeMillis()+PacketInMillis);
}
if (hmap.containsKey(event.getPlayer())) {
if (hmap.get(p) > System.currentTimeMillis()) {
event.setCancelled(true);
if (ban) {
getServer().banIP(p.getAddress().getHostString());
getServer().getBannedPlayers().add(p);
}
if (kick) {
getServer().getScheduler().runTask((Plugin) this, () -> p.kickPlayer(this.reason));
}
}
if (p.isOnline()) {
hmap.put(p, System.currentTimeMillis());
} else {
hmap.remove(p);
}
}
}
public void onDisable() {
getServer().getLogger().info("Plugin has been disabled");
}
public boolean onCommand(final CommandSender sender, final Command cmd, final String label, final String[] args) {
if (cmd.getName().equalsIgnoreCase("PacketBookFix")) {
if (args.length == 1) {
if (sender.hasPermission(ReloadPermissions) && args[0].equalsIgnoreCase("reload")) {
reloadConfig();
PacketInMillis = getConfig().getInt("PacketInMillis");
kick = getConfig().getBoolean("KickPlayer");
ban = getConfig().getBoolean("BanPlayer");
reason = getConfig().getString("BanMessage").replaceAll("&", "§");
ReloadPermissions = getConfig().getString("ReloadPermissions");
sender.sendMessage(ReloadedMessage = getConfig().getString("ReloadedMessage").replaceAll("&", "§"));
return true;
}
return false;
}
else {
sender.sendMessage("&cPacketBookFix created by demkom58.".replaceAll("&", "§"));
}
}
return false;
}
}
Последнее редактирование модератором: