My Worlds
Version: 1.65 | Craftbukkit/Spigot: CB 1.5.1 R1.0 / CB 1.6.1 / CB 1.6.2
Description
This plugin features everything related to worlds. Features:
- Load, unload, copy, delete, save and create worlds (Read more...)
- Show information of worlds and list available chunk generators and worlds
- Set world game mode, difficulty, time, weather, autosaving, PvP
- Set world mob spawn restrictions
- Evacuate worlds to clear them from players
- Repair broken worlds to some extend
- Make portals cross-world, one-way, simple, no commands needed
- World-specific chat rooms using permissions
- Automatically load worlds when the server starts and persistent settings
- Extensive permission system, you can even set who can enter what world
- Can act as a tool for other plugins to teleport players from one world to the other
- Simple teleportation commands
- Set OP lists for specific worlds to make players operator on certain worlds
- Easy-to-remember commands: with aliases and chat-message help
- World inventory separation, merging and disabling (clear)
- Main world where players spawn can be configured
- Can set to re-spawn all players on the main world at all times
- Remember the last known position of a player on a world, and teleport him to it (Read more...)
- Auto-import the configuration from Multiverse (Read more...)
Separate inventories?
Yes, MyWorlds now supports per-world inventories. This feature is by default disabled, to enable it, set useWorldInventories to true in the config.yml. By default no worlds share inventories and player inventories are saved and loaded per world. To share inventories, use /world inventory merge followed up by the world names to merge. Split (or detach) gives all worlds specified a separate non-shared inventory. You can use /world inventory enable or disable to disable inventories for worlds. Enabled inventories will save data, disabled won't and result in all items being cleared.
Advice for having plugin-generated or flat worlds
The main world loads (and generates) before My Worlds enables. The Bukkit plugin architecture makes it impossible to load My Worlds before worlds load, since that causes some other incompatibilities. Anyway, if you want to have a 'main' world that is not a nether/the_end/overworld Vanilla world, you will have to do the following:
- Set up the main world to be anything you like (even if you don't use it on your server...you need one)
- Create a new world for the world type you want (flatworld, custom chunk generator, etc.)
- Stop the server and open up the config.yml of MyWorlds
- Change 'mainWorld' to your newly created custom world
- Start the server again and notice how new players join your custom world
- Optionally: disable the 'keep spawn in memory' for the 'server' main worlds (you are not using)
Just to avoid any confusions: it is impossible to let My Worlds alter or replace the main worlds generated by the server. If there is any fix to this or you know 'some way' to do it, let us know. We do consider halting the server enabling process asking for you to create the main worlds, after which enabling continues as usual. But for this, we need to disable the default main worlds from loading up.
Links
For more information:
For help with loading, creating, saving, unloading, etc. worlds.
Look at the changelog
Disclaimer (because things CAN go wrong)
I am not responsible for world damages done by this plugin or by certain commands this plugin performs. If you, for example, loaded 20 worlds and hosted it on a buggy computer with 30 players, odds are the server (and your computer) will crash and worlds become corrupted. Repair can fix worlds, but this does not recover damaged chunks, so don't think you are always covered. Also, never forget to make backups of your worlds, but I guess this is common sense... Just a warning for those that blame their own mistakes on the plugin developer :)
Metrics
This plugin sends server count statistics to MCStats.org. You can (globally) opt out in the PluginMetrics/config.yml file.
@Salamantis
I will look at it this weekend
MyWorld is just what i need! Its super fast, and muc slimmer than Multiverse. Keep up the good work!
I am sorry to say that for most of my needs, Multiverse handles things well enough that I haven't seen the merit in "My Worlds". I invite you to help me better understand the advantages here. I don't mean to insult - I'm just curious. I love the work BergerKiller and other project members achiever throughout the BK series of plugins.
Right now I expect to use "My Worlds" solely for teleporting trains from TrainCarts. I was excited to see it working during a brief experiment last February. I was testing for the feasibility of splitting up my server maps. Once I knew it could be done, I chopped up our entire overworld and segmented our extensive railway thusly. Sadly, this took so long that Minecraft, Bukkit and BKCommonLib all updated before we could try it out again. After that, the TrainCarts integration seemed to stop working, and my server is now stuck with a useless series of closed railway loops (so players don't careen off edge of the map).
I'm hoping for some sort of news on the matter. The wiki is in shambles (especially on the subject of train teleports), with inconsistent documentation per page. I can't make anything in "My Worlds" work beyond basic nether portals at the present. Empty frames and "water portals" don't seem to work, despite the solid feedback in the chat as I set up the signs.
On a final note: Please don't use \ to denote directories in your documentation. That is Microsoft-exclusive and causes syntax problems in other shells. Thank you.
How resource heavy is running a second world using my-worlds? I have a very small sever I would like to run a small flat second world on. Will it work with the latest Spigot 1.7.9 r02 ?
I have installed this and BKCommonLIb and its says that BKCommonLib has failed to start when i am using the latest BKCommonLib and latest My Worlds. I am using spigot 1.7.9 id there a fix for this
I think it's a stupid question but, why I get this message?
[20:26:07] [Server thread/WARN]: Plugin `My_Worlds v1.68' uses the space-character (0x20) in its name `My Worlds' - this is discouraged
(I'm using Salamantis' plugin version for 1.7.9)
Thanks :)
@lenis0012
Thanks for the merge!
There's one problem with MyWorlds, though... As of 1.7.6, the player directory in every world was changed to "playerdata" (from "players"), so MyWorlds will start saving inventories and other data in there. This means that there will be non-UUID format saves in the UUID format save folder, and that it will not pick up any old player data in the old players directory (so all players will be starting fresh).
This should be temporarily solvable by moving all player data files from players to playerdata without renaming them, but that doesn't feel very clean and I don't know how it will handle that for the main world (Minecraft will try saving to playerdata/<uuid>.dat, but MyWorlds uses playerdata/<name>.dat...)
I've already addressed this in my own build of MyWorlds below by changing the save format to UUID, and implementing an auto-migration of all existing data. I haven't made a PR for that because UUID migration a major change and I don't know what the preferred way of handling it is.
it would seem like the "/tpp" function is creating a quite big Chunk error at the destination, quite irretating to be honest.
Ver. 1.66 for 1.6.4. could you take a look at that? Might be because i'm using mcpc+.
Or are you just focusing on newer ver. of bukkit?
@Salamantis
Thank you sir :)
I have accepted your pull request.
Latest MyWorlds should now work if you use the latest BKCommonLib dev build.
@Salamantis
It's working without flaw so far on my server; thank you so much for saving the day and allowing me to finally update to 1.7.9.
I've updated MyWorlds to 1.7.9 because I rely on it for inventory management. I've only tested this on the latest 1.7.9 dev builds (Craftbukkit #3078, Spigot #1463). It should work on 1.7.8 as well, but I cannot guarantee it.
IMPORTANT NOTE: This build will attempt to convert all your secondary worlds to the new UUID format. Bukkit/Minecraft only convert your main world, but MyWorlds stores player metadata in other worlds as well. Be absolutely sure you backup everything before using this (it's hard to go back to the old format, and things might go wrong). As noted here, please make sure that you are in the correct server mode (online mode/offline mode) when you start the 1.7.9 server for the first time, because profiles are not compatible between these two server modes. Read more about UUIDs here.
IMPORTANT NOTE 2: I've also had to fix a bug in BKCommonLib, so you must use my version as well, or it will not work correctly.(edit: my changes have been merged into the official release, so use the latest BKCommonLib dev build from its page!)Full source:
https://github.com/salaman/MyWorlds/tree/179
https://github.com/salaman/BKCommonLib/tree/179
Pre-compiled jars (unofficial builds, not tested by Bukkit staff, usual warnings apply):
http://ci.chrs.pw/job/MyWorlds%201.7.9/
http://ci.chrs.pw/job/BKCommonLib%201.7.9/(not needed anymore, use a official dev build)Please reply with success or any bugs, so I can get feedback on these and fix anything if issues arise. I run these on a server too :)
Dev note: I've tried to model the UUID conversion process as close as possible to the vanilla/Bukkit one. It will convert all players in the "players" directory to the "playerdata" directory with new UUID filenames. If the server is in online-mode, it will query the Mojang API (which MUST be accessible for conversion to work) to find the player UUID. If the player is invalid, the file is moved to an "unknownplayers" folder. If the server is in offline-mode, the UUID is generated from the username. It also sets the lastKnownName field in the data file appropriately.
@der_Kernschatten
Our server's "workaround" was to switch to Multiverse-Core. (People seem to report that MultiWorld is working on 1.7.8 too, but I haven't tried it).
Has Author abandon project?
Has anyone found a work around? BKCommonLib is being updated and I tried it to no avail.
I really like this allot. Making a plugin where everyone is bound to and never update it when it needs a update...
bukkit (1.7.2 r3)
I have problems with permission.
myworlds.world.build.worldname wont work at all.
then i get error, i dont have permission to build on this world. if i do a
myworlds.world.build.* then i can build.
is there any solution ?
EDIT:
I found the reason why:
for guests i have disabled building on myworlds.world.build.world1: false
later in config for other groups (inerhit) i have made myworlds.world.build.world1: true
so i still cannot build, bcoz the "false" seems to be higher in priority than "true".
This is since i've updated to 1.7.2 a few days ago.
Update pls!!!
Cant update my server....
Update to 1.7.8?
@Wizardgreatar
yep, same here
aslong as myworld is running i get that bunch of errors in the console aswell, and players cant connect.
but im not sure if its really related to myworld, or bkcommonlib, as i though i have the same issue aswell, when ussing myworld 1.66 (not sure yet, will do a test in 12hours, after work)
running 1.7.5 bukkit, so im a bit limited in bkcommonlib. but bevor it worked well..
Experiencing a server-breaking error from myworlds, preventing players from joining: http://dev.bukkit.org/bukkit-plugins/my-worlds/tickets/123-players-unable-to-join/