Is it possible to whitelist Multiverse worlds, so only certain players can, for example, go to a survival world?

Even if they try to /tp to a player in a world they're not allowed in, it won't allow them.


Solution 1:

This is possible, it makes use of Permissions: for example PermissionsEx

If a player has multiverse.access.WORLDNAME, then they can enter that world.

NOTE: Ensure you have enforceaccess 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.

Ingame

For each world:

perm player setperm [player_name] multiverse.access.[world_name]

For all worlds:

perm player setperm [player_name] multiverse.access.*

Where [player_name] is the name of the player and [world_name] is the name of the world

Automation

For automation you have to edit the "permission.yml", for example:

groups:
    default:
        permissions:
            - multiverse.access.[overworld_name]
    admin:
        permissions:
            - multiverse.access.*
        inheritance:
        - default
users:    
    [player_name]:                
        groups:
        - admin

(Where [overworld_name] is the name of the overworld)

This automatically enables the overworld access for everyone, while admins have access to all the worlds. You should to get to know how "Permissions" works, before trying large scale permission edit, since this can break the game (unable to do certain actions)

Other commands / permissions

See Command reference for more permissions / commands.

Source

see Github for more explanation (which is the source)