Revert 9d39c75fb05fccabae43ebe69a69af2820fce93c ... 5a16fab459d42a853b6f5756bfc2c917cc3d19e7

FernFerret 2012-02-22 08:11:38 -08:00
parent 0086f134c4
commit a485280945
6 changed files with 743 additions and 2 deletions

68
How-to-upgrade.md Normal file

@ -0,0 +1,68 @@
## Backup Warning.
Before reading any further, __PLEASE__ backup all of your files. We will not be responsible for ANYTHING Multiverse-Core or its plugins do to your server.
## Welcome to Multiverse 2
Hello there. Looks like you've gotten to this page because you want to upgrade to Multiverse 2! Thanks for being a super cool Multiverse user!
## Prerequisites
### Required:
Multiverse 2 requires that you have __at least CraftBukkit 1060__ installed. To find out your version, go to your console (or in game) and type `version` (or `/version` if in-game). You will see something similar to this:
08:37:23 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-985-g2cc4221-b1064jnks (MC: 1.7.3)
08:37:23 [INFO] This server is also sporting some funky dev build of Bukkit!
Look closely at the first line, near the end you can see __`b1064jnks`__ which can easily be translated to __1064__. There you have it, that's your CraftBukkit version. If that number is any less than __1060__ Multiverse 2 will basically explode. If you need to upgrade, you can find the [Latest Recommended Build Here](http://ci.bukkit.org/job/dev-CraftBukkit/Recommended/artifact/target/craftbukkit-0.0.1-SNAPSHOT.jar).
### Optional:
TODO: Write section about permissions.
## Step 1
Ensure that your plugins folder looks similar to this:
[[images/upgrade/step1.png]]
Make sure you leave your `MultiVerse.jar` and `MultiVerse/` folder in place for now.
## Step 2
Download the Multiverse-Core JAR from [The Multiverse 2 Jenkins](http://ci.onarandombox.com/job/Multiverse-Core/)
*__NOTE:__ We are working on getting a stable download for MV2 and CB 1.0.1-R1!*
Place it in your plugins folder like so:
[[images/upgrade/step2_fixed.png]]
## Step 3
Start your server. You should see something similar to this:
_**NOTE:** Your lines will __NOT__ be colored. I have colored them for reference._
[[images/upgrade/step3_fixed.png]]
You should see all of the green lines and the yellow line. If your green lines do __NOT__ match. Hop into our IRC (`#multiverse` on esper.net) channel for help.
## Step 4
Stop your server.
Not sure why you need a picture of this, but here it is:
[[images/upgrade/step4.png]]
## Step 5
* If you do not have backups yet, make a backup of `MultiVerse/`.
* Remove `MultiVerse.jar` and the `MultiVerse/` folder.
Your plugins folder should look similar to this:
[[images/upgrade/step5.png]]
## Step 6
Start your server! Everything should look good!
[[images/upgrade/step6.png]]
## What's next?
Now that you've successfully migrated to the Multiverse 2 system, you may want to install the [[Plugins of Multiverse 2]] or check out some very cool [[Custom Generator Plugins]].

10
Known-conflicts.md Normal file

@ -0,0 +1,10 @@
## WorldGuard / CommandBook
exact-spawn: true will cause players on death to spawn back at the worlds original spawn point. Please set this to false in both WorldGuard and CommandBook if you want to spawn where you set mvspawn location at.
## mcMMO
I would like to document that I found a conflict with mcMMO and Multiverse Set Spawn, in that mcMMO appears to hijack the spawn point and will not let Miltiverse /mvss or Essentials /setspawn set the spawn. Both plugins will show success but upon death the user will re-spawn in the wrong location - during my tests that location was about 10 blocks away from that I set with multiverse, however subsequent resets of the spawn point using the mvss command would not change the spawn point again until I removed mcMMO.
I believe the command in mcMMO that is causing this problem is myspawn and clearmyspawn which have the option in the plugins config to be switched off.
## Client-side: Zombes
See issue [#98](https://github.com/Multiverse/Multiverse-Core/issues/98).

@ -1 +1,86 @@
USE AND OLD VERSION THIS NEW VERSION SUCK IT ACCTULLY SUCKED MY BALLS YESTERDAY ;)
First off, we're sorry you're here. We try to perform as many user tests as possible, but occasionally bugs do squeak through.
**Please be sure that you've read through the rest of the wiki to ensure that your issue is actually a bug and not a usage confusion.** You can also ask us questions on IRC at #multiverse on irc.esper.net - if we determine your issue there is actually a bug, we can help you with filing it.
Bug reports that do not conform to the standard below may be linked to this page, and we may not help you until you provide all the info below.
## Sample Bug Report
### (feel free to copy the lines below this to start your own bug report!)
### Problem
Hello,
I'm having some trouble getting X, Y, and Z to work with Multiverse-Core. I'm doing A and I expect to see B, but instead I get C.
### Link generated from `/mv version -p`
http://pastebin.com/M83mR21H
_**NOTE:** If you cannot use `/mv version -p` then you most likely have an outdated version of Craftbukkit or another plugin is erroring before Multiverse. Please get this resolved before posting a bug report._
### Startup log (Code formatted with 4 spaces)
151 recipes
16 achievements
08:23:39 [INFO] Starting minecraft server version Beta 1.7.3
08:23:39 [INFO] Loading properties
08:23:39 [INFO] Starting Minecraft server on *:25565
08:23:39 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-985-g2cc4221-b1064jnks (MC: 1.7.3)
08:23:40 [INFO] CleanroomGenerator version 0.0.4 is enabled!
08:23:40 [INFO] Preparing level "world"
08:23:40 [INFO] Preparing start region for level 0 (Seed: -8770177622278397413)
08:23:41 [INFO] Preparing start region for level 1 (Seed: 8845916545199586327)
08:23:41 [INFO] Preparing spawn area: 36%
08:23:41 [INFO] [GiveTo] v0.7 enabled (loaded items: 233)
08:23:41 [INFO] [Multiverse-Core] - Version 2.0-UNKNOWN Enabled - By Rigby and fernferret
08:23:41 [INFO] [AllPay] - Version 1.0.3 - using only an item based economy for Multiverse-Core v2.0-UNKNOWN
08:23:41 [INFO] [Multiverse-Core] - Multiverse Config -- Loaded
08:23:41 [INFO] [Multiverse-Core] - World Config -- Loaded
08:23:41 [INFO] [Multiverse-Core] Loading World & Settings - 'world' - NORMAL
08:23:41 [INFO] Preparing start region for level 2 (Seed: -8770709337959716933)
08:23:42 [INFO] [Multiverse-Core] Loading World & Settings - 'sky' - SKYLANDS
08:23:42 [INFO] Preparing start region for level 3 (Seed: -8835165113293168935)
08:23:42 [INFO] [Multiverse-Core] Loading World & Settings - 'test' - NORMAL
08:23:42 [INFO] [Multiverse-Core] Loading World & Settings - 'world_nether' - NETHER
08:23:42 [INFO] Preparing start region for level 4 (Seed: -8671450110128338170)
08:23:43 [INFO] [Multiverse-Core] Loading World & Settings - 'test_nether' - NETHER
08:23:43 [INFO] [Multiverse-Core] 5 - World(s) loaded.
08:23:43 [INFO] [MultiVerse-Portals] - Version 2.0-UNKNOWN Enabled - By Rigby and fernferret
08:23:43 [INFO] [MultiVerse-Portals] 8 - Portals(s) loaded
08:23:43 [WARNING] [Multiverse-Core] Portal huge has an invalid DESTINATION!
08:23:43 [WARNING] [Multiverse-Core] Portal test has an invalid DESTINATION!
08:23:43 [INFO] PermissionsBukkit v1.1 is now enabled
08:23:43 [INFO] [WolfPound] - Version 1.0.3 Enabled
08:23:43 [INFO] [AllPay] - Version 1.0.3 - using only an item based economy for WolfPound v1.0.3
08:23:43 [INFO] Server permissions file permissions.yml is empty, ignoring it
08:23:43 [INFO] Done (0.329s)! For help, type "help" or "?"
### Any other relevant files:
Here is my permissions file for PermissionsBukkit:
users:
fernferret:
groups: []
groups:
default:
permissions:
permissions.build: false
admin:
permissions:
'*': true
multiverse.exempt.*: false
permissions.*: true
inheritance:
user:
permissions:
multiverse.access.world_nether: false
multiverse.core.confirm: true
multiverse.core.tp.*: true
multiverse.portal.access.*: false
multiverse.portal.access.dirt: false
multiverse.portal.debug: true
multiverse.portal.list: true
permissions.build: true
worlds:
creative:
coolplugin.item: true
inheritance:
- default
messages:
build: '&cYou do not have permission to build here.'

467
World-properties.md Normal file

@ -0,0 +1,467 @@
Here are the various properties of worlds that can be set in `worlds.yml`. __Normally you should not have to edit this__, but if you are an advanced user, you may. This is a typical plugin configuration file and follows the same syntax. __All of these settings can be changed from in-game__ using [[Modify Command|Command-Reference#wiki-modify]]
## <a name="top" href="#wiki-top"></a> Index
1. [World Permissions](#wiki-perms)
1. [Setting the Spawn World](#wiki-defaultspawn)
1. [Animals](#wiki-animals)
1. [Monsters](#wiki-monsters)
1. [Environment](#wiki-env)
1. [Generators](#wiki-generator)
1. [World Fees](#wiki-fees)
1. [PVP](#wiki-pvp)
1. [Alias](#wiki-alias)
1. [World Blacklist](#wiki-blacklist)
1. [Seed](#wiki-seed)
1. [Scaling](#wiki-scale)
1. [Respawn World](#wiki-respawn)
1. [Keep Spawn in Memory](#wiki-memory)
1. [Weather](#wiki-weather)
1. [Game Mode](#wiki-mode)
1. [Difficulty](#wiki-difficulty)
1. [Hunger](#wiki-hunger)
1. [World Visibility](#wiki-hidden)
1. [Auto-Heal](#wiki-autoheal)
1. [Adjust Spawn](#wiki-adjustspawn)
1. [Time](#wiki-time)
---
## <a name="perms" href="#wiki-perms"></a>World Permissions
You can easily control who can enter various worlds in Multiverse 2. To allow people access to a world, simply grant them access to `multiverse.access.WORLDNAME` where WORLDNAME is the name of the world. By default (with PermissionsBukkit) people _can_ enter newly created worlds. You can give users `multiverse.access.*` to let them access all worlds, or set the same to false to deny access to all worlds.
---
## <a name="defaultspawn" href="#wiki-defaultspawn"></a>Default Spawn World
Multiverse 2.2+ allows you to set what world users will spawn in. This does _not_ have to be the world that is in `server.properties`. To do this, make sure you have the following 2 values set in your `[[config.yml]]`. You can set this value ingame by using `/mv conf firstspawnoverride true` and `/mv conf firstspawnworld myworld`. We advise against editing the file, but here is the clip:
```
...
# If true, this will ensure players, on first spawn, go to the spawn
# that you've set with Multiverse. Set to false if you use another
# spawn plugin.
firstspawnoverride: true
# This is the world you want players to spawn in. It does *NOT*
# have to be the world in server.properties!
firstspawnworld: world
...
```
---
## <a name="animals" href="#wiki-animals"></a>Animals
### Spawning
The overall control of the spawning of animals on a world. If true, animals (pigs, chickens, cows and squids) will spawn in this world.
**Type:**
`boolean`
### Exceptions
Exceptions allow you to say 'I want animals to spawn, but **NOT** sheep.' The coolest part about exceptions is the fact that they simply negate the `spawn` value. This concept may seem a bit complex at first, but you can use it to do some really cool things.
**Type:**
`List<String>`
#### EXAMPLE: A world with ONLY pigs:
animals:
spawn: false
exceptions:
- pig
You should read this as "Animals __can not__ spawn __except__ for pigs."
#### EXAMPLE: A world with NO pigs:
animals:
spawn: true
exceptions:
- pig
You should read this as "Animals __can__ spawn __except__ for pigs."
**In Game Usage:**
`[[/mv modify set animals true|Command-Reference#wiki-modify_set]]`- Enables animal spawning in the current world.
`[[/mv modify set animals false|Command-Reference#wiki-modify_set]]`- Disables animal spawning in the current world.
`[[/mv modify add pig animal|Command-Reference#wiki-modify_set]]` - Adds the animal type `pig` to the exemption list.
`[[/mv modify remove pig animals|Command-Reference#wiki-modify_set]]` - Removes the animal type `pig` to the exemption list.
`[[/mv modify clear animals|Command-Reference#wiki-modify_set]]` - Clears the animal exemption list.
[Back to Top](#wiki-top)
---
## <a name="monsters" href="#wiki-monsters"></a>Monsters
### Spawning
The overall control of the spawning of monsters on a world. If true, monsters (anything not in the animals list above) will spawn in this world. Monsters _will not_ spawn in a world where the [difficulty](#wiki-difficulty) is set to `peaceful`, even if this variable is set to true.
**Type:**
`boolean`
### Exceptions
exceptions allow you to say 'I want monsters to spawn, but **NOT** creepers.' The coolest part about exceptions is the fact that they simply negate the `spawn` value. This concept may seem a bit complex at first, but you can use it to do some really cool things.
**Type:**
`List<String>`
#### EXAMPLE: A world with ONLY creepers:
monsters:
spawn: false
exceptions:
- creeper
You should read this as "Monsters __can not__ spawn __except__ for creepers."
#### EXAMPLE: A world with NO creepers:
monsters:
spawn: true
exceptions:
- creeper
You should read this as "Monsters __can__ spawn __except__ for creepers."
**In Game Usage:**
`[[/mv modify set monsters true|Command-Reference#wiki-modify_set]]`- Enables monster spawning in the current world (and disables auto-heal).
`[[/mv modify set monsters false|Command-Reference#wiki-modify_set]]`- Disables monster spawning in the current world (and enables auto-heal).
`[[/mv modify add creeper monsters|Command-Reference#wiki-modify_set]]` - Adds the monster type `creeper` to the exemption list.
`[[/mv modify remove creeper monsters|Command-Reference#wiki-modify_set]]` - Removes the monster type `creeper` to the exemption list.
`[[/mv modify clear monsters|Command-Reference#wiki-modify_set]]` - Clears the monster exemption list.
[Back to Top](#wiki-top)
---
## <a name="env" href="#wiki-env"></a>Environment
The type of environment this world is under. Can currently be `SKYLANDS`, `NETHER`, and `NORMAL`. You __should not__ change this value in the config.
__Type:__
`String`
__Example:__
`environment: NORMAL`
__In Game Usage:__
`[[/mv create myworld NORMAL|Command-Reference#wiki-create]]`
`[[/mv import mynether NETHER|Command-Reference#wiki-import]]`
[Back to Top](#wiki-top)
---
## <a name="generator" href="#wiki-generator"></a>Generators
Multiverse 2 allows you to use custom world generators via a [[Custom Generator Plugin|Custom-Generator-Plugins]]. This line contains the information multiverse needs to load your worlds properly. You __should not__ touch this value unless you know what you're doing.
This value may or may not be present. That's ok.
__Type__:
`String`
__Example:__
`generator: BukkitFullOfMoon`
__In Game Usage:__
`[[/mv create moon NORMAL -g BukkitFullOfMoon|Command-Reference#wiki-create]]`
[Back to Top](#wiki-top)
---
## <a name="fees" href="#wiki-fees"></a>World Fees
You can charge users to enter various worlds. The coolest part is you don't have to use an econ plugin! You can simply use minecraft items!
### Amount vs. Currency
The `amount` field is __how much__ you want to charge people. This can be an integer or double. (1 or 1.75)
The `currency` field is __what__ you want to charge people. This is an item id, or `-1` if you want to use virtual dollars in an econ plugin.
### EXAMPLE: Charging 5 Dirt to enter a world
entryfee:
amount: 5
currency: 3
### EXAMPLE: Charging $13.75 to enter a world
__NOTE:__ You MUST have a [valid economy plugin installed](https://github.com/FernFerret/AllPay/wiki/Supported-plugins) to use 'money' (currency value -1).
entryfee:
amount: 13.75
currency: -1
__In Game Usage:__
`mvm set currency 3` - Sets the item to dirt
`mvm set price 3` - Requires 3 of item
[Back to Top](#wiki-top)
---
## <a name="pvp" href="#wiki-pvp"></a>PVP
Whether or not players may harm each other in this world. If set to true, they may.
__Type:__
`boolean`
__Example:__
`pvp: true`
__In Game Usage:__
`mvm set pvp false`
[Back to Top](#wiki-top)
---
## <a name="alias" href="#wiki-alias"></a>Alias
World aliases allow you to name a world differently than what the folder name is. This lets you choose fancy names for your worlds while keeping the folders nice and neat.
The alias attribute can also include a color. Worlds will show up colored when your users chat and via `[[/mv list|Command-Reference#wiki-list]]` or `[[/mv who|Command-Reference#wiki-who]]`.
The color must be one of these:
`AQUA, BLACK, BLUE, DARKAQUA, DARKBLUE, DARKGRAY, DARKGREEN, DARKPURPLE, DARKRED, GOLD, GRAY, GREEN, LIGHTPURPLE, RED, YELLOW, WHITE`
![Example of World Aliases With Color](http://i.minus.com/ielLOjTOP.png)
### Example: World named FernWorld colored Green
__In Game Usage:__
`mvm set color green`
`mvm set alias FernWorld`
alias:
color: GREEN
name: FernWorld
[Back to Top](#wiki-top)
---
## <a name="blacklist" href="#wiki-blacklist"></a>World Blacklist
The world blacklist allows you to specify worlds that people __cannot go__ to from the specified world. For example, if you add `world_gold` to `world`'s `worldblacklist`, then players could teleport TO `world_gold` from `world` but not back.
**Type:**
`List<String>`
**Example:**
worldblacklist:
- world_fish
- world_dog
[Back to Top](#wiki-top)
---
## <a name="seed" href="#wiki-seed"></a>Seed
The seed for this world. Do not change unless you are aware of the consequences of doing so (**WILL** cause chunk errors!).
__Type:__
`String`
__Example:__
`seed: 'gargamel'`
__In Game Usage:__
__This command can not be used in-game. You cannot change the seed of a generated world.__
[Back to Top](#wiki-top)
---
## <a name="scale" href="#wiki-scale"></a>Scale
Scaling of worlds when using Multiverse-NetherPortals. Setting this value will have no effect on anything but Multiverse-NetherPortals. See [the Multiverse-Netherportals documentation](https://github.com/Multiverse/Multiverse-NetherPortals/wiki/Simple-tutorial) for how this works.
__Type:__
`double`
__NOTE:__ If you see a `scaling` value, you can delete it. It got carried over in early versions of the migrator and the value is now `scale`.
__In Game Usage:__
`mvm set scale 1.2`
[Back to Top](#wiki-top)
---
## <a name="respawn" href="#wiki-respawn"></a>Respawn World
The world you will respawn to if you die in this world. This value can be the same as this world.
__Type:__
`String`
__Example:__
`respawnworld: 'hellplanet'`
__NOTE:__ If you see a `temprespawn` value, you can delete it. It got carried over in early versions of the migrator.
__In Game Usage:__
`mvm set respawn MyWorld`
[Back to Top](#wiki-top)
---
## <a name="memory" href="#wiki-memory"></a>Keep Spawn in Memory
If you disable this, bukkit will not keep this world's spawn chunks in memory, resulting in less memory used by your server when people are not logged in.
__Type:__
`boolean`
__Example:__
`keepspawninmemory: true`
__In Game Usage:__
`mvm set memory false`
[Back to Top](#wiki-top)
---
## <a name="weather" href="#wiki-weather"></a>Weather
If this value is true, a world will have weather events, if false, it will not. If you want to turn off the current storm, just type `/mvm set weather false`, wait for the weather to subside, and then `/mvm set weather true`.
__Type:__
`boolean`
__Example:__
`weather: true`
__In Game Usage:__
`mvm set weather false`
[Back to Top](#wiki-top)
---
## <a name="mode" href="#wiki-mode"></a>Game Mode
Allows you to set the type of mode a specific world is set to. Creative mode gives players unlimited resources while Survival makes boys become men. For more information about inventories on servers that use this feature, see our [[FAQ on Inventories|FAQ#wiki-inv]]
If you want to allow certain players to ignore the game mode set in a world, there's a special permission:
```
mv.bypass.gamemode.[*|WORLDNAME]
```
This permission is under a different root namespace because it will be off by default.
__Type:__
`String`
__Example:__
`gamemode: SURVIVAL`
__In Game Usage:__
`mvm set mode survival`
`mvm set mode creative`
[Back to Top](#wiki-top)
---
## <a name="difficulty" href="#wiki-difficulty"></a>Difficulty
Allows you to set the difficulty of a given world. All possible values are: `0, 1, 2, 3, peaceful, easy, normal, hard`. Remember that there are only 4 difficulties, we just let you set it with either the int or the string. They are always stored as ints in the config.
__Type:__
`String` OR `Integer`
__Example:__
`difficulty: 1`
__In Game Usage:__
`mvm set diff 1`
`mvm set difficulty easy`
`mvm set diff hard`
`mvm set diff peaceful`
[Back to Top](#wiki-top)
---
## <a name="hunger" href="#wiki-hunger"></a>Hunger
Allows you to enable or disable hunger depletion in each world.
__Type__:
`Boolean`
__Example:__
`hunger: true`
__In Game Usage:__
`mvm set hunger true`
`mvm set hunger false`
[Back to Top](#wiki-top)
---
## <a name="hidden" href="#wiki-hidden"></a>World Visibility
This property allows you to have a world that exists, but does not show up in lists. When users chat from this world, if `worldnameprefix` is set to `true` and it is hidden, their chat will appear with no world prefix.
__Type:__
`Boolean`
__Example:__
`hidden: false`
__In Game Usage:__
`mvm set hidden true`
[Back to Top](#wiki-top)
---
## <a name="autoheal" href="#wiki-autoheal"></a>Auto-Heal
If your [difficulty](#wiki-difficulty) is set to `peaceful`, by default, players will regain health. If you do not want them to, simply set this variable to false. This setting has no effect on worlds with a [difficulty](#wiki-difficulty) greater than `peaceful` or `0`.
__Type__:
`Boolean`
__Example:__
`autoheal: true`
__In Game Usage:__
`mvm set autoheal true`
`mvm set autoheal false`
[Back to Top](#wiki-top)
---
## <a name="adjustspawn" href="#wiki-adjustspawn"></a>Adjust Spawn
By default, Multiverse will fix spawns that are recorded in poor locations. By default the Minecraft server uses something like a `getTopBlock()` method and sets the spawn's `Y` coordinate somewhere in the middle of the earth. This is usually not safe to teleport a player directly too, so Multiverse will search for the nearest safe location.
Sometimes this is non ideal. If you do not want multiverse to do this, simply turn this variable on. If you set a spawn in an unsafe location (over a pit of lava), Multiverse will automatically disable this variable for you.
If you want to set this variable when importing a world, simply add a `-n` to your `/mv create` or `/mv import` command:
```
/mv create spaceworld normal -g NullTerrainGenerator -n
```
__Type__:
`Boolean`
__Example:__
`adjustspawn: true`
__In Game Usage:__
`mvm set adjustspawn true`
`mvm set adjustspawn false`
[Back to Top](#wiki-top)
---
## <a name="time" href="#wiki-time"></a>Time
Multiverse inclues _very basic_ support for setting world times. It does not scale time, or lock it or rewind it. It is provided mainly as an api for higher level things like server managers to set the time to something.
__Type__:
`String`
__Example:__
**This value is not present in the `config.yml`**
__In Game Usage:__
`mvm set time true`
`mvm set autoheal false`
[Back to Top](#wiki-top)

@ -48,7 +48,8 @@ Download the Multiverse-Core JAR from the [release site](http://dev.bukkit.org/s
There is NO Zip package available. Multiverse-Core (and MV Plugins) will create default configs for you __on the first run__.
_if you are a noob the use this plugin are u pro use an old version
__*Optional:__ Install the [Multiverse-Portals](http://dev.bukkit.org/server-mods/multiverse-portals/files/) or [Multiverse-NetherPortals](http://dev.bukkit.org/server-mods/multiverse-netherportals/files/) plugins!
Place it in your plugins folder like so:
[[/images/install/step1.png]]

110
tutorial/permissions.md Normal file

@ -0,0 +1,110 @@
#Permissions
<table width="100%"><tr><td><h3><center>
[[Installation|install]] -> [[Basics]] -> Permissions -> [[Others?]]
</center></h3></td></tr></table>
_NOTE: Are you looking for [[the List of all MV Permissions|Big List O Permissions]]?_
##<a name="superperms" href="#wiki-superperms"></a>Multiverse Permissions Plugin Support
Multiverse supports any plugin that adheres to the SuperPerms Bukkit Permissions API. As of now (1/19/2012) these are: PermissionsBukkit, bPerms, PEX and GroupManager.
##<a name="perm" href="#wiki-perm"></a>Multiverse World Permissions
Multiverse allows you to control who can enter worlds via permissions! When you create a world or import a world into Multiverse-Core, it automatically creates a permission: `multiverse.access.WORLDNAME`. If a player _has_ `multiverse.access.WORLDNAME`, then they can enter that world.
**NOTE:** Ensure you have `enforceacccess` **enabled** in your Multiverse `[[config.yml]]`. If `enforceaccess` is set to `false` _anyone_ can go to _any_ world and **all world-access permissions are ignored**.
If you give a user `multiverse.access.*` they can go to all worlds.
## <a name="permbukkit" href="#wiki-permbukkit"></a>About PermissionsBukkit
[PermissionsBukkit](http://forums.bukkit.org/threads/26785) is the Official Bukkit plugin to manage permissions using the new [Permissions API](http://forums.bukkit.org/threads/25080/). Other permission plugins will probably begin incorporating the API to manage your servers permissions, but for now the official plugin([PermissionsBukkit](http://forums.bukkit.org/threads/26785)) is what we have. Luckily, there is a bridge included with [PermissionsBukkit](http://forums.bukkit.org/threads/26785) to satisfy plugins still requesting Permissions 2.7/3.1 and will bridge those requests through and handle them. The bridge is **not** required to use permissions with Multiverse 2.
## <a name="config" href="#wiki-config"></a>PermissionsBukkit config.yml
### NOTE: This is the config.yml that resides within the PermissionsBukkit folder!
Setting up the permissions in the config is pretty straight forward. You may find it similar to pre-1000 permission plugins. Here is an example config file which includes some permissions for Multiverse 2:
```yaml
users:
myplayername:
permissions:
groups:
- admin
groups:
default:
permissions:
permissions.build: false
multiverse.core.tp.self: true
admin:
permissions:
permissions.*: true
multiverse.world.create: true
inheritance:
- default
messages:
build: '&cYou do not have permission to build here.'
```
With this setup, all users will have the ability to teleport themselves using the [`/mvtp`](https://github.com/Multiverse/Multiverse-Core/wiki/Command-Reference#teleport) command, while users assigned to the admin group will also have the ability create worlds. Notice also that the admin has `permissions.*: true` and therefore can use the PermissionsBukkit commands in game. This may be especially useful for Multiverse 2.
### MV2 Permissions
You can use: `multiverse.*` to give someone all permissions for Multiverse. If you only want to give someone access to all worlds, use: `multiverse.access.*` for example.
## <a name="setup" href="#wiki-setup"></a>Setting Permissions in game
Multiverse has the courtesy to show which permission node is needed for a command if you enter a /command and it fails due to permissions. Having this info readily available to you in the game can save you some time looking up the permission, and allow you to enter that permission into a group on the spot if need be. An admin can simply enter permissions in as you need them. For example you try to run [`/mvlist`](https://github.com/Multiverse/Multiverse-Core/wiki/Command-Reference#list) and oh my you dont have permission, but you will be notified that you need `multiverse.world.list` permission node. Entering
/perm group setperm admin multiverse.core.list true
will add the permission to your admin group and viola! you have permission to use that command. MV has a lot of commands and permissions, so adding them in a need-to-use basis can sometimes be easier.
## <a name="ops" href="#wiki-ops"></a>Setting OP's
OP's by default have all the Multiverse permissions set to true. So the easiest way to give your admins all the Multiverse permissions is to just make them OP. Of course, this may not be the best option for everyone.
## <a name="sample" href="#wiki-sample"></a>Sample Access Permissions Transcript
A lot of people seem to have trouble understanding how the access permissions work. This is an actual transcript of me (@FernFerret) playing on a test server, and typing exactly what happened. Whenever you see a `>` that means that I typed a command in the console.
```none
11:18:38 [INFO] [world2]<fernferret> I do not have multiverse.core.list.worlds, I can't see any worlds
>perm player setperm fernferret multiverse.core.list.worlds true
11:18:59 [INFO] Player fernferret now has multiverse.core.list.worlds = true.
11:19:15 [INFO] [world2]<fernferret> cool. I can see the world list, but there are 0 worlds listed
>perm player setperm fernferret multiverse.access.world true
11:19:32 [INFO] Player fernferret now has multiverse.access.world = true.
11:19:42 [INFO] [world2]<fernferret> sweet. Now I can see the world 'world'
11:20:08 [INFO] [world2]<fernferret> I can't TP there though, I don't have *any* multiverse.teleport.X perm nodes
>perm player setperm fernferret multiverse.teleport.self.* true
11:20:26 [INFO] Player fernferret now has multiverse.teleport.self.* = true.
11:20:38 [INFO] [world]<fernferret> woo I'm in 'world'
11:20:54 [INFO] [world]<fernferret> now I can't tp to 'world' again, i need the spawn.self perm...
>perm player setperm fernferret multiverse.core.spawn.self true
11:21:05 [INFO] Player fernferret now has multiverse.core.spawn.self = true.
11:21:18 [INFO] [world]<fernferret> woo! now i'm at spawn!!!!!!111!
11:21:31 [INFO] [world]<fernferret> but I can't go back to world2...
11:21:34 [INFO] [world]<fernferret> I need some perms!
>perm player setperm fernferret multiverse.access.world2 true
11:21:44 [INFO] Player fernferret now has multiverse.access.world2 = true.
11:21:56 [INFO] [world2]<fernferret> hellz yea!!!!111! world2!!
11:24:05 [INFO] [world2]<fernferret> hmm ok, let's not give me the exact teleport perm... i'll test now!
11:24:15 [INFO] [world]<fernferret> ow...
11:24:20 [INFO] [world]<fernferret> i'm underground somewhere
11:24:25 [INFO] [world]<fernferret> the exact perm is dangerous
>perm player setperm fernferret multiverse.teleport.self.e false
11:24:40 [INFO] Player fernferret now has multiverse.teleport.self.e = false.
11:24:51 [INFO] [world]<fernferret> I went back to spawn
11:25:26 [INFO] [world]<fernferret> ok. I gave myself the false exact perm
11:25:36 [INFO] [world]<fernferret> but that gets checked _after_ the higher perm
11:25:48 [INFO] [world]<fernferret> so I need to deny myself the parent, and just give myself the child perms
>perm player setperm fernferret multiverse.teleport.self.* false
11:26:14 [INFO] Player fernferret now has multiverse.teleport.self.* = false.
11:26:24 [INFO] [world]<fernferret> ok. I have no tp perms again.
11:26:35 [INFO] [world]<fernferret> now i'll _just_ give myself the ones I want, world and player
>perm player setperm fernferret multiverse.teleport.self.w true
11:26:41 [INFO] Player fernferret now has multiverse.teleport.self.w = true.
>perm player setperm fernferret multiverse.teleport.self.pl true
11:26:47 [INFO] Player fernferret now has multiverse.teleport.self.pl = true.
11:26:55 [INFO] [world]<fernferret> oh, and cannon! cannons are awesome!
>perm player setperm fernferret multiverse.teleport.self.ca true
11:27:00 [INFO] Player fernferret now has multiverse.teleport.self.ca = true.
11:27:15 [INFO] [world]<fernferret> weeeeeeeeeeeee (shot out of cannon)
```
<table width="100%"><tr><td><h3><center>
[[Installation|install]] -> [[Basics]] -> Permissions -> [[Others?]]
</center></h3></td></tr></table>