🛡️ Protect your Minecraft server and lets players claim areas
Go to file
sk89q 1859fc5db2 Overhauled the blacklist system.
- The blacklist's method of preventing notification repeats is now better, instead waiting 3 seconds before notifying again (before it didn't notify again at all unless the user started using another blocked action).
- To give users the ability to receive notifications, the command to give permission to has been changed to /worldguardnotify, although the old one (that was never mentioned anywhere) still works.
- Water and lava buckets are now psuedo-blocked using an unreliable method that risks the stability of your server (no other plugin does it better though). Use it as your own risk.
- Added on item drop and on item use (i.e. chest) events.
- Chests, signs, and furnaces can now be blocked better with the blacklist system.
- The event names in the blacklist configuration have changed but the old event names should still work. The new names should make "more sense."
- A new "ban" action has been added to the blacklist.
- Action messages have been improved, now longer saying "destroyed" for everything.
- Logging to file has been completely changed, allowing you to use the date and time and the player's username in the log filename. It no longer rotates log files based on size, however.
- Logging to database is now supported.
2010-11-19 20:03:19 -08:00
src Overhauled the blacklist system. 2010-11-19 20:03:19 -08:00
CHANGELOG.txt Overhauled the blacklist system. 2010-11-19 20:03:19 -08:00
INSTALL.txt Changed project name to WorldGuard. 2010-11-17 12:05:07 -08:00
LICENSE.txt Initial commit. 2010-11-14 00:55:01 -08:00
manifest.mf Updated for 1.1.2. 2010-11-18 10:47:05 -08:00
README.txt Overhauled the blacklist system. 2010-11-19 20:03:19 -08:00
worldguard-blacklist.txt Overhauled the blacklist system. 2010-11-19 20:03:19 -08:00

WorldGuard
Copyright (c) 2010 sk89q <http://www.sk89q.com>
Licensed under the GNU Lesser General Public License v3

Introduction
------------

WorldGuard has a number of features, any of which you can choose to
use or not:

- Enforce only one session for a player on a server (can't login twice).
- Block creeper explosions.
- Block TNT explosions.
- Block lighters from setting fires.
- Block all fires.
- Allow fire but prevent it from burning certain blocks.
- Prevent lava from starting fires.
- Restrict lava spreading to only some block types.
- Simulate classic-esque water by letting water infinitely expand in
    area (only if there is a block underneath).
- Simulate the sponge.
- Block the use, destruction and/or placement of some items or block types.
- Notify admins when a certain block type or item is used, destroyed,
    or place.
- Log the use, destruction, and/or placement of some blocks/items.
- Kick for the use, destruction, and/or placement of some blocks.

hMod is required as WorldGuard is a plugin for hMod.

Configuration
-------------

A "worldguard.properties" will be created the first the time that you load
WorldGuard on your server. You can either restart your server or use
/reloadplugin WorldGuard to reload the configuraton file after editing it.

- classic-water (def. false)
    Toggle use of classic water. Be foreward that your world may be
    flooded if you are not careful. If you have WorldEdit, you can use
    //drain in such an event, although that will drain the entire pool
    as well. This classic-esque water will only spread infinitely over
    ground, but if there are air blocks underneath, the water will not
    spread (preventing waterfalls from becoming tsunamis).

- simulate-sponge (def. false)
    Toggle simulation of the sponge. The sponge only prevents water
    from spreading. It will not take away existing water. Simulation of
    the sponge requires iterating over a 9x9x9 cuboid around the water
    block and the resource impact of this has not been quantified.

- enforce-single-session (def. true)
    Enforce single sessions. If the player is already found to be on
    the server when s/he logs in, the other player will be kicked with
    an informative message. The inventory will have been saved before
    the new session starts.
    
- block-tnt (def. false)
    Block TNT explosions. TNT will still explode client-side but the blocks
    will be "restored" in a few seconds afterwards.
    
- block-lighter (def. false)
    Block flint and steel fires. Those with access to the commands
    /uselighter or /lighter can bypass this. /uselighter is not a real
    command; it is only used for permissions.

- block-creepers (def. false)
    Block creeper explosions. They will not explode client-side.

- disable-lava-fire (def. false)
    Prevent lava from starting fires.

- allowed-lava-spread-blocks (no default)
    List of block names/IDs to allow lava to spread to. Leave blank
    to disable this feature.

- disable-all-fire-spread (def. false)
    Disable all fire from spreading.

- disallowed-fire-spread-blocks (no default)
    List of block names/IDs to prevent fire from spreading to. Leave blank
    to disable this feature. Enabling disable-all-fire-spread will
    override this function.

- item-drop-blacklist (no default)
    List of block names/IDs to destroy on drop. This can alleviate the
    durability cheat that allows you to drop your tools to fix their
    durability. You can also enforce this with the blacklist but
    this is an easier way to do it (this way also prints a more
    friendly message than if you used the 'tell' action of the blacklist).

- block-lag-fix (def. false)
    Attempts to fix block lag.

- log-console (def. true)
    For blacklist log actions, print to console.

- log-file (def. false)
    For blacklist log actions, log to file.
    
- log-file-path (def. "worldguard/logs/%Y-%m-%d.log")
    Log blacklist events to file. You can use these patterns in the path:
        %Y the year (YYYY)
        %m the month (MM)
        %d the day (DD)
        %W the week of the year (00-52)
        %H 24-hour time (HH)
        %h 12-hour time (HH)
        %i the minute (mm)
        %s the second (ss)
        %u the user's name
        %% translates to a single percent sign "%"
    The files are not automatically rotated if they get large so you should
    perhaps put a week in the filename at least.
    
    Escape backslashes with another backslash, like so:
    C:\path\to\log.txt -> C:\\path\\to\\log.txt

- log-file-open-files (def. 10)
    The number of log files to keep open at once. Unless you use dynamic
    patterns in the path, the value of this variable won't matter. However,
    if, for example, you use a player's username in the filename and you
    have many users who cause logged events to occur, files would have
    to be opened for each user and this parameter would matter.

- log-database (def. false)
    Log blacklist events to database.

- log-database-dsn (def. "jdbc:mysql://localhost:3306/minecraft")
    Connection string. A string to use for MySQL would be:
    jdbc:mysql://localhost:3306/minecraft
    The "minecraft" part at the end is the database name.
    
    Escape colons with a backslash, like so:
    jdbc:mysql://localhost:3306/minecraft
    ->
    jdbc\:mysql\://localhost\:3306/minecraft

- log-database-user (def. "root")
    Database username.

- log-database-pass (def. "")
    Database password.

- log-database-table (def. "blacklist_events")
    Database table to use.

Blacklists
----------

Edit the included worldguard-blacklist.txt file and follow the
instructions inside.