Хостинг серверов Minecraft playvds.com
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Плагин OP-Password-Safe Защищаем сервер от взлома 100% ForceOp

Тема в разделе "Неподтвержденные плагины", создана пользователем Gammer, 20 дек 2014.

  1. Hilgert

    Hilgert Старожил Пользователь

    Баллы:
    123
    Skype:
    mixa2258
    Имя в Minecraft:
    Hilgert
    Обязан обязан, ты автор этого плагина(наверное, хотя я в этом сомневаюсь)
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    Gammer

    Gammer Активный участник Пользователь Заблокирован

    Баллы:
    88
    Имя в Minecraft:
    MrSem
    Хорошая идея, на заметку![DOUBLEPOST=1419272326][/DOUBLEPOST]
    Я автор, решил что то в Publick выложить:3 А-то как лох:3 Кстати плагин у меня заказывали, Funnu-World.
     
  4. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Skype:
    makssofez
    Ты (Если конечно ты) создатель плагина, поэтому должен.
     
  5. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Зря деньги потеряли.
     
  6. MrTrojan

    MrTrojan Активный участник Пользователь

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    +
     
  7. Sirse

    Sirse Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    То есть вы слили приватный плагин, за который получили деньги, который к тому же и не в состоянии защитить от атак?
     
  8. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Skype:
    makssofez
    Всё совершенно верно.
     
  9. Автор темы
    Gammer

    Gammer Активный участник Пользователь Заблокирован

    Баллы:
    88
    Имя в Minecraft:
    MrSem
    Есть деньги я пишу, неделю назад они заказали новый а этот достался паблику, и вообще вам не надо не нужно говорить напишите что-то своё! А я поару какая плохая защита! Какой говенный код! И будьте любезны!
     
  10. BeLkA

    BeLkA Старожил Пользователь

    Баллы:
    153
    Skype:
    FayStaff
    +++++!
    xD Мдээ, эт ****ец, товарищи.[DOUBLEPOST=1419445517,1419445067][/DOUBLEPOST]1.
    Код:
      private void loadConfig()
      {
        this.config = getConfig();
        this.config.options().copyDefaults(true);
        saveConfig();
        this.cfile = new File(getDataFolder(), "config.yml");
      }
    Сразу видно, не автор писал код. Нахера делать переменную config? Так сложно писать getConfig()? copyDefaults уже много в каких плагинах не видел, только в туторах. Сразу видно - работы с конфигом автор не знает.

    2.
    Код:
        Player ego = (Player)sender;
        String opPW = getConfig().getString("OP-Password");
        String deopPW = getConfig().getString("DeOP-Password");
        String WrongPW = "Wrong Password !";
        String NoOPRechte = "You have no Permissions to use this !";
        String OPErfolgreich = "You are now OP !";
        String Error = "Use /op <Password> | /op <Player> <Password>";
        String DeOPErfolgreich = "You are no longer OP";
        String OPPlayerOffline = "Player not found !";
    ОХТЫЖ****АНА***. Во-первых - почему бы не запихнуть все сообщения в конфиг? Во-вторых - так переменные никто не ставит, только идиоты. + Не думал ли сделать проверку на отправителя команды? Что если команду напишу из консоли? Я буду игроком?

    3.
    Код:
    ego.sendMessage(ChatColor.GREEN + "You made " + other.getName() + " to OP");
    ego.sendMessage(ChatColor.GREEN + other.getName() + " is now no OP");
    Даже идиот, совсем не знающий английский так не напишет... Знаний английского вообще нет.

    4.
    Код:
    else {
            if (string.length == 1)
    В одну строку не?

    5.
    Код:
    }
    
                ego.sendMessage(ChatColor.RED + WrongPW);
                return false;
              }
    
              ego.sendMessage(ChatColor.RED + NoOPRechte);
              return false;
            }
    
            ego.sendMessage(ChatColor.RED + Error);
            return false;
          }
        }
    govnocodeMode = true;

    Там еще много ОООЧЕНЬ проблемных мест... Учи Java...
     
  11. Автор темы
    Gammer

    Gammer Активный участник Пользователь Заблокирован

    Баллы:
    88
    Имя в Minecraft:
    MrSem
    Как умею так пишу не нравиться пшёл вон!
     
  12. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    @moderator, неадекват.
     
  13. Автор темы
    Gammer

    Gammer Активный участник Пользователь Заблокирован

    Баллы:
    88
    Имя в Minecraft:
    MrSem
    Если вы не умеете сами писать, то пожалуйста идите в школу!
     
  14. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Писать плагины? Вам о чем-нибудь говорит та фиолетовая штука под моей авой?
     
  15. Hilgert

    Hilgert Старожил Пользователь

    Баллы:
    123
    Skype:
    mixa2258
    Имя в Minecraft:
    Hilgert
    э, покажи мне где ты "умеешь" писать
     
  16. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Я просто переписал твой плагин. Знаю, что можно ещё лучше и ещё короче его написать, но в 5 часов утра думается ни оч.
    startop.java
    Код:
    package op;
    
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class startop extends JavaPlugin {
    
        FileConfiguration config;
    
        @Override
        public void onEnable() {
            this.saveDefaultConfig();
            this.config = this.getConfig();
            this.getLogger().info("[OP-Password-Safe] Plugin is enabled!");
        }
    
        @Override
        public void onDisable() {
            this.getLogger().info("[OP-Password-Safe] Plugin is disabled!");
        }
    
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String command, String[] args) {
           Player plr = (Player) sender; //Кривое место, но мне лень чекать принадлежность к консоли.
            switch (command) {
                case "ops_reload":
                    if (plr.hasPermission("ops.reload")) {
                        this.reloadConfig();
                        this.config = this.getConfig();
                        plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.pluginReloaded")));
                        return true;
                    } else {
                        plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.noPerms")));
                        return false;
                    }
                case "op":
                    if (plr.hasPermission("ops.op")) {
                        return this.opCommand(plr, args);
                    } else {
                        plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.noPerms")));
                        return false;
                    }
                case "deop":
                    if (plr.hasPermission("ops.deop")) {
                        return this.deopCommand(plr, args);
                    } else {
                        plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.noPerms")));
                        return false;
                    }
            }
            return false;
        }
    
        private boolean opCommand(Player plr, String[] args) {
            if (args.length == 1) {
                if (plr.hasPermission("ops.op.yourself") && args[0].equals(this.config.getString("password.op"))) {
                    plr.setOp(true);
                    plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.opped")));
                } else {
                    plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.noPerms")));
                }
            } else if (args.length == 2) {
                if (plr.hasPermission("ops.op.another") && args[0].equals(this.config.getString("password.op"))) {
                    Player other = this.getServer().getPlayer(args[1]);
                    if (other != null) {
                        other.setOp(true);
                        other.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.opped")));
                        plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.playerOpped")).replace("%p", other.getName()));
                    } else {
                        plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.playerOffline")));
                    }
                } else {
                    plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.noPerms")));
                }
            } else {
                plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.opUse")));
            }
            return true;
        }
    
        private boolean deopCommand(Player plr, String[] args) {
            if (args.length == 1) {
                if (plr.hasPermission("ops.deop.yourself") && args[0].equals(this.config.getString("password.deop"))) {
                    plr.setOp(false);
                    plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.deopped")));
                } else {
                    plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.noPerms")));
                }
            } else if (args.length == 2) {
                if (plr.hasPermission("ops.deop.another") && args[0].equals(this.config.getString("password.deop"))) {
                    Player other = this.getServer().getPlayer(args[1]);
                    if (other != null) {
                        other.setOp(false);
                        other.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.deopped")));
                        plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.playerDeopped")).replace("%p", other.getName()));
                    } else {
                        plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.playerOffline")));
                    }
                } else {
                    plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.noPerms")));
                }
            } else {
                plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.deopUse")));
            }
    
            return true;
        }
    }
    config.yml
    Код:
    password:
        op: "1488op1488"
        deop : "1488deop1488"
    messages:
        noPerms: "&cYou have not permissions"
        pluginReloaded: "&aPlugin reloaded!"
        playerOffline: "&cPlayer offline!"
        opUse: "&6/op <op password> [player]"
        deopUse : "&6/deop <deop password> [player]"
        opped: "&eYou are now op!"
        deopped: "&eYou are no longer op!"
        playerOpped: "&ePlayer %p is now op!"
        playerDeopped: "&ePlayer %p is no longer op!"
     
    Последнее редактирование: 27 дек 2014
  17. Автор темы
    Gammer

    Gammer Активный участник Пользователь Заблокирован

    Баллы:
    88
    Имя в Minecraft:
    MrSem
    По мне так не плохо:3[DOUBLEPOST=1419659668,1419659508][/DOUBLEPOST]
    Убило:3
     
  18. BeLkA

    BeLkA Старожил Пользователь

    Баллы:
    153
    Skype:
    FayStaff
    xD *****сь код :D
    По тебе так? Да тебе хоть говнокод покажи, ты скажешь, что это норм. Если я спрошу, сколько ты кодишь, то получу ответ типа "пару дней". Пока это только так видно. Тут, ****ь, даже человек в пять утра код лучше тебя написал...
     
  19. Автор темы
    Gammer

    Gammer Активный участник Пользователь Заблокирован

    Баллы:
    88
    Имя в Minecraft:
    MrSem
    Я начинающий если, вы супер кодер флаг вам в руки, я новичек не профи!
     
  20. BeLkA

    BeLkA Старожил Пользователь

    Баллы:
    153
    Skype:
    FayStaff
    Еще Вы неграмотный. Зачем тогда обсирать других умных программистов, вроде @serega6531 ? Не надо так. А то профи ваш этот флаг Вам в жопу вставят. Будем Вас флагмэном называть.
     
  21. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Флажок-кун :D

    Тем временем ещё короче вариант:
    Код:
    package op;
    
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class startop extends JavaPlugin {
    
        FileConfiguration config;
    
        @Override
        public void onEnable() {
            this.saveDefaultConfig();
            this.config = this.getConfig();
            this.getLogger().info("[OP-Password-Safe] Plugin is enabled!");
        }
    
        @Override
        public void onDisable() {
            this.getLogger().info("[OP-Password-Safe] Plugin is disabled!");
        }
    
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String command, String[] args) {
            Player plr = (Player) sender; //Да мне срать, пускай и консоль юзает пароль и самоопается >:D
            switch (command) {
                case "ops_reload":
                    if (plr.hasPermission("ops.reload")) {
                        this.reloadConfig();
                        this.config = this.getConfig();
                        plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.pluginReloaded")));
                        return true;
                    } else {
                        plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.noPerms")));
                        return false;
                    }
                case "op":
                    if (plr.hasPermission("ops.op")) {
                        this.doitCommand(plr, args, true);
                        return true;
                    } else {
                        plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.noPerms")));
                        return false;
                    }
                case "deop":
                    if (plr.hasPermission("ops.deop")) {
                        this.doitCommand(plr, args, false);
                        return true;
                    } else {
                        plr.sendMessage(ChatColor.translateAlternateColorCodes('&', this.config.getString("messages.noPerms")));
                        return false;
                    }
            }
            return false;
        }
    
       
        public void doitCommand(Player player, String[] args, boolean setOp) {
            if (args.length == 1) {
                if (args[0].equals(this.config.getString(setOp ? "password.op" : "password.deop"))) {
                    player.setOp(setOp);
                    player.sendMessage(setOp ? tl("messages.opped") : tl("messages.deopped"));
                } else {
                    player.sendMessage(tl("messages.noPerms"));
                }
            } else if (args.length == 2) {
                Player other = this.getServer().getPlayer(args[1]);
                if (args[0].equals(this.config.getString(setOp ? "password.op" : "password.deop"))) {
                    if (other != null) {
                        other.setOp(setOp);
                        other.sendMessage(setOp ? tl("messages.opped") : tl("messages.deopped"));
                        player.sendMessage(setOp ? tl("messages.playerOpped").replace("%p", other.getName()) : tl("messages.playerDeopped").replace("%p", other.getName()));
                    } else {
                        player.sendMessage(tl("messages.playerOffline"));
                    }
                } else {
                    player.sendMessage(tl("messages.noPerms"));
                }
            } else {
                player.sendMessage(setOp ? tl("messages.opUse") : tl("messages.deopUse"));
            }
        }
       
        private String tl(String string) {
            return ChatColor.translateAlternateColorCodes('&', this.config.getString(string));
        }
    }
    
    
     

Поделиться этой страницей