Minecraft Server (CraftBukkit) — модерирование

Вторая статья о настройке сервера на платформе CraftBukkit.

Плагины в этом списке особенные. Самые важные. Их обновлений я всегда жду перед тем как обновить сервер. Жить без них было бы возможно только в мире без гриферов.

Содержание: #

  • BorderGuard
  • AuthMe
  • Whitelist
  • LogBlock
  • LWC
  • Safe Creeper

BorderGuard #

Окружает вашу карту невидимым барьером, не позволяя пересекать его и тем самым генерировать её дальше.

Один из первых плагинов, которые я ставлю — ресурсы вашего сервера ограничены, размер карты — по умолчанию нет.

/setborder <distance> <square|round>
/setborder 5000 round

Для каждого мира нужно устанавливать границу отдельно.

AuthMe #

Плагин регистрации на сервере. Ставит пароли на аккаунты пользователей, чтобы злоумышленники не могли воровать вещи / использовать админские команды подключившись под чужим ником.

Обязателен при online-mode=false.

vim plugins/AuthMe/config.yml

Подключим mysql:

DataSource:
    mySQLColumnName: username
    mySQLTablename: authme
    mySQLUsername: minecraft
    backend: mysql
    mySQLColumnLastLogin: lastlogin
    mySQLDatabase: minecraft
    mySQLPort: '3306'
    mySQLColumnIp: ip
    mySQLHost: 127.0.0.1
    mySQLColumnPassword: password
    mySQLPassword: '12345'
    caching: true

Включим сессии — плагин запомнит игрока по ip и не будет спрашивать пароль неделю.

settings:
    sessions:
        enabled: true
        timeout: 10080

Чтобы зарегестрироваться игроку нужно будет ввести эту команду:

/register password

При следующем заходе авторизоваться:

/login password

Whitelist #

Позволяет вести «белый список» — список игроков, которым разрешён доступ к серверу.

Почему он лучше встроенного функционала?

  • Не нужно перезагружать сервер после изменения списка.
  • Сохраняется порядок ников в списке.

Чтобы добавить в список пользователей вносите ники в plugins/Whitelist/whitelist.txt. Один ник на строку (в столбик). И следите, чтобы не поставить лишний пробел.

LogBlock #

Наследник «Большого Брата», позволяет узнать кто грифер и откатить все разрушения. Идеален для идентификации гриферов.

vim plugins/LogBlock/config.yml
mysql:
  user: minecraft
  port: 3306
  password: pass
  host: localhost
  database: minecraft
enableAutoClearLog: true

Плагин по умолчанию ничего не логирует, чтобы это исправить откройте все миры и замените все false на true, например:

vim plugins/LogBlock/world.yml
logging:
  TNTEXPLOSION: true
  LEAVESDECAY: true
  MISCEXPLOSION: true
  SNOWFORM: true
  NATURALSTRUCTUREGROW: true
  KILL: true
  FIRE: true
  CHAT: true
  WATERFLOW: true
  BONEMEALSTRUCTUREGROW: true
  BLOCKPLACE: true
  ENDERDRAGON: true
  DIODEINTERACT: true
  SNOWFADE: true
  CHESTACCESS: true
  ENDERMEN: true
  SIGNTEXT: true
  LAVAFLOW: true
  CAKEEAT: true
  BLOCKBREAK: true
  SWITCHINTERACT: true
  NOTEBLOCKINTERACT: true
  GHASTFIREBALLEXPLOSION: true
  CREEPEREXPLOSION: true
  DOORINTERACT: true
table: lb-world

LWC #

Плагин позволяет ставить «замки» на ящики/двери/таблички, исключая воровство. Абсолютно обязательный плагин.

Плагин работает «из коробки», но я очень советую использовать mysql.

vim /plugins/LWC/core.yml
# Database information for LWC
database:

    # The database adapter to use, for example sqlite (default) or mysql
    adapter: mysql

    # This is strictly for SQLite only and should be left alone. When changing to MySQL and this is left intact,
    # LWC will automatically convert your protections from SQLite to MySQL
    path: 'plugins/LWC/lwc.db'

    # The MySQL host. You can specify a non-default port (3306) by adding :port, e.g host: 'localhost:3307'
    host: 'localhost'

    # The database LWC should use to store data (not necessary for SQLite)
    database: 'minecraft'

    # The username LWC should use to connect to the server with (not necessary for SQLite)
    username: 'minecraft'

    # The password LWC should use to connect to the server with (not necessary for SQLite)
    password: 'password'

    # The prefix for LWC tables. For example, a prefix of 'lwc_' will make
    # the protections table show up as lwc_protections
    prefix: 'lwc_'

и задать лимит на количество одновременно закрытых блоков, 50 в моём случае (и запретить ставить замки на печки и раздатчики):

vim /plugins/LWC/limits.yml
master:
    limit: 50
    type: custom
    furnace: 0
    dispenser: 0

Safe Creeper #

Плагин позволяет запретить криперам/гастам разрушать блоки, но при этом игроки по прежнему будут получать урон оказавшись поблизости.

К сожалению на данный момент гасты хоть и не взрывают блоки, но продолжают их сжигать. Автор плагина работает над этой проблемой.

Помимо этого можно запретить зажигалки и динамит.

Следующий конфиг запрещает криперам/гастам/динамиту взрывать блоки.

# This is the global settings for all the worlds, if a world have his own settings file it will overwrite these settings for the world.

# Creepers
CreeperControl:
    Enabled: true
    DestroyWorld: false
    EnableExplosionSound: true
    EnableExplosionSmoke: true
    CanSpawn: true
    CanTargetPlayer: true
    CanTargetMob: true
    DamagePlayers: true
    DamageMobs: true
    PowerdByLightning: true
    # Only enable these settings if you are between two levels (you must enable 'EnableBetweenLevels' to use it).
    EnableBetweenLevels:
        Enabled: false
        MinLevel: 64
        MaxLevel: 127

# Fireballs
FireballControl:
    Enabled: true
    DestroyWorld: false
    EnableExplosionSound: true
    EnableExplosionSmoke: true
    GhastsCanSpawn: true
    GhastCanTargetPlayer: false
    GhastCanTargetMob: false
    # Only enable these settings if you are between two levels (you must enable 'EnableBetweenLevels' to use it).
    EnableBetweenLevels:
        Enabled: false
        MinLevel: 0
        MaxLevel: 127

# TNT blocks
TNTControl:
    Enabled: true
    DestroyWorld: false
    EnableExplosionSound: true
    EnableExplosionSmoke: true
    CanPlaceTNT: true
    DamagePlayers: true
    DamageMobs: true
    # Only enable these settings if you are between two levels (you must enable 'EnableBetweenLevels' to use it).
    EnableBetweenLevels:
        Enabled: false
        MinLevel: 0
        MaxLevel: 127

EndermanControl:
    Enabled: false
    CanPlaceBlock: false
    CanPickupBlock: false
    # If an endermen wants to pickup a block, and he can't, don't break the block but the endermen get a clone of that block in his hands
    CanCloneBlock: true
    # If an endermen wants to place a block, and he can't, don't place anything but remove the holding block out of his hands
    ClearHandsOnPlace: true
    CanSpawn: true
    CanTargetPlayer: true
    CanTargetMob: true
    DamagePlayers: true
    DamageMobs: true
    # Only enable these settings if you are between two levels (you must enable 'EnableBetweenLevels' to use it).
    EnableBetweenLevels:
        Enabled: false
        MinLevel: 0
        MaxLevel: 127

FireControl:
    Enabled: false
    EnableBlockFire: true
    FireSpread: true
    DamagePlayers: true
    DamageMobs: true
    # Only enable these settings if you are between two levels (you must enable 'EnableBetweenLevels' to use it).
    EnableBetweenLevels:
        Enabled: false
        MinLevel: 0
        MaxLevel: 127

FlintAndSteelControl:
    Enabled: false
    EnableFlintAndSteel: false
    # Only enable these settings if you are between two levels (you must enable 'EnableBetweenLevels' to use it).
    EnableBetweenLevels:
        Enabled: false
        MinLevel: 0
        MaxLevel: 127

LightningControl:
    Enabled: false
    IgniteBlocks: true
    DamagePlayers: true
    DamageMobs: true
    # Only enable these settings if you are between two levels (you must enable 'EnableBetweenLevels' to use it).
    EnableBetweenLevels:
        Enabled: false
        MinLevel: 0
        MaxLevel: 127

WaterControl:
    Enabled: false
    CanPlaceWater: true
    WaterSpread: true
    PlayerDrowning: true
    MobDowning: true
    # Only enable these settings if you are between two levels (you must enable 'EnableBetweenLevels' to use it).
    EnableBetweenLevels:
        Enabled: false
        MinLevel: 0
        MaxLevel: 127

LavaControl:
    Enabled: false
    LavaFire: true
    CanPlaceLava: true
    LavaSpread: true
    DamagePlayers: true
    DamageMobs: true
    # Only enable these settings if you are between two levels (you must enable 'EnableBetweenLevels' to use it).
    EnableBetweenLevels:
        Enabled: false
        MinLevel: 0
        MaxLevel: 127

OtherExplosions:
    Enabled: false
    DestroyWorld: true
    EnableExplosionSound: true
    EnableExplosionSmoke: true
    # Only enable these settings if you are between two levels (you must enable 'EnableBetweenLevels' to use it).
    EnableBetweenLevels:
        Enabled: false
        MinLevel: 0
        MaxLevel: 127

Комментарии

webarseny

Насчет whitelist'a: перезагружать ничего не надо:
/whitelist on - включить
/whitelist off - выключить
/whitelist add - добавить игрока в WL

Добавить комментарий