Coder Social home page Coder Social logo

lectron / kosmos Goto Github PK

View Code? Open in Web Editor NEW
17.0 3.0 1.0 71.38 MB

Plugin for Minecraft multi-world, orchestrated by multi-server. Interact as one universe.

License: GNU General Public License v3.0

Java 100.00%
minecraft spigot bungeecord-plugin bungeecord minecraft-plugin minecraft-server minecraft-multi minecraft-api java multi-server minecraft-container minecraft-forge minecraft-launcher minecraft-mod minecraft-performance minecraft-pocket-edition

kosmos's Introduction

#Kosmos

Minecraft multi-world, orchestrated by multi-server. Interact as one universe.

The light weight, distributed layer for Minecraft. It allows multiple servers to orchestrate player interactions across multiple worlds as if it's one universe. Currently these supports BungeeCord and Spigot. Kosmos supports multi-server setup and is designed for high availability.

Image of a Minecraft world

The ultimate goal with Kosmos is to be able to implement high availability and cross-server interactions without dividing player experience, which traditional Minecraft softwares do not inherently provide that functionality. The implementation is efficient, not complex, and highly performant.

##Links Minecraftly server address: m.ly

Website

Blog

Developer Wiki

Work in Progress

Current Main Branch - v2

Rules of the Kosmos (Important Read)

Bounty Program - Make money by helping us fix bugs and adding new features to the plugin.


##In a Nutshell

  • Each player gets a world
  • Each world has it's own subdomain name, mapped to player's own username: {player-username}.m.ly
  • Custom domain is possible via mapping CNAME to {player-uuid}.m.ly
  • Worlds are always on, no need to "startup on demand", or "stop when inactive".
  • Worlds are loaded and unloaded dynamically by one or multiple Spigot servers.
  • One or multiple BungeeCord server(s) bring players to the appropriate Spigot servers inside the appropriate world.
  • Player-to-player teleportation accross worlds
  • Player-to-world teleportation accross worlds
  • Player-to-warp teleporation accross worlds
  • A player is admin control of their world. They have access to:
      1. Kick, Ban, Mute others
      1. Whitelist their world
      1. Reset their world, while keeping their inventories.
      1. Appoint moderators, and give trust to people at different trust levels

##REQUIREMENTS

  • BungeeCord: serve as a proxy server (equivalent to Nginx or HAProxy in web hosting)
  • Spigot: serve as Minecraft server.
    • Alternative: PaperSpigot is a derivative of Spigot, giving a little higher performance than traditional Spigot.
  • Redis server: Real time volatile database that connects BungeeCord and Spigot together.
  • (optional) shared file system for multiple Spigot servers to access the same /worlds folder
  • (optional) Dank memes

##SETUP See setup example here


##Compiling Minecraftly is distributed as a Maven project. To compile it and install it in your local Maven repository:

apt-get install git -y
apt-get install maven -y
git clone https://github.com/minecraftly/kosmos.git
cd minecraftly
mvn clean install

##Build Kosmos plugin on Jenkins This guide presumes that you got Jenkins server installed Simply create a new Freestyle project with the following configurations:

  • Freestyle project name

    • kosmos
  • Branches to build

    • Branch Specifier (blank for 'any'): master
  • Source Code Management

  • Build

    • Execute shell command: mvn clean install
  • Post-build Actions

    • Click "Add Post-build action" -> Archive the artifacts
    • Files to archive: **/*.jar

##Why Open Source? I'm Viet, a simple guy with love for gaming, technologies, and Minecraft just like you. I created one of the first Minecraft server in the world (way back in 2012), I've always been looking for a way to scale Minecraft with high availability and fault tolerant. There have been many people in the gaming community wanting a "single server" online gaming experience, that can have lots of players online in the same place at the same time. So I want to do it.

Started out as a simple Minecraft game server like every other, I understood that Minecraft and open world games have scalability limitation just like any other MMO game. I saw that it needs something that can handle connections and allows Minecraft to scale incredibly far with limited resources. So I created Kosmos. It took over a year to develop the first prototype. It's now open source. I'd like to share the technology with passionate people who want to contribute to the community, to change the world via cloud computing, and with everyone who wants to learn about high availability architecture.

I dedicated myself to cloud computing and passed my AWS Solutions Architect Certification exam in 2015. It helped construct my knowledge to build a simplier open source project that anyone can test, build, host their own network.


##Contributing Thank you for your interest in Kosmos. Contributing to Kosmos is easy, just fork the project on GitHub, make your changes and submit a pull request to get your code merged. That's all there is to it.

Minecraftly is licensed under the GNU General Public License version 3 (GNU GPLv3), and we welcome anybody to fork and submit a Pull Request back with their changes, and if you want to join as a permanent member we can add you to the team.

Check out the Wiki for more information about setting up the development environment for Kosmos, finding issues to work on, etc...

If you are new to open source and/or GitHub, or just aren't sure about some details in the contribution process, here's a tutorial to get you started: How to Contribute to an Open Source Project on GitHub


##License Kosmos is distributed under GNU GPLv3 license.

This is a "copyleft" license, which means if you publish the modified work as your own, you must open source it as well. It benefits the educational purpose of the software and helps everyone build better software that is scalable, loosely coupled, work on both traditional and cloud infrastructure without vendor lock-in.

The only term of using this software is that you expressively credit Minecraftly website as the creator of the software you are using on your server and website.

We welcome everyone to install and develop on top of Kosmos free of charge for personal, non-commercial use. We have a patent pending on the software and. We don't allow any commercial use of this architecture.

kosmos's People

Contributors

silvercory avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

nymoout

kosmos's Issues

Cant connect: Invalid session

Hi!
Cant connect to m.ly/minecraftly.com. It show the error:
2016-08-02_11 29 06. [Invalid session(try restarting)]

Using Optifine 1.8. Cracked.

Global Game Rules

Because we provide one universe, having global game rules in setting is better than letting players choose their own game rules.

Global game rules can be edited in config.json

The most important edit to default game rule is:

  • keepInventory: always true
  • mobGriefing: false

Example: https://minecraftly.readme.io/docs/global-game-rule

Disable restriction to nether and the end

Previously, for players to access nether or the end, they have to have permissions nodes:

  • minecraftly.nether
  • minecraftly.end

As of right now, it doesn't make sense to have such restriction, so it's best to remove the restriction altogether, letting everyone to acces nether and the end normally.

Error log at join.

I see this quite often in the log so it might be helpful to post here.

[08:04:18 INFO]: UUID of player VietNguyen is b7de0a32-064c-45da-bd08-1120b7ff465b
[08:04:18 INFO]: VietNguyen[/10.240.0.3:45189] logged in with entity id 38077 at ([world]256.0, 2.0, 256.0)
[08:04:18 ERROR]: Could not pass event PlayerChangedWorldEvent to Minecraftly v2.0.0-SNAPSHOT-BUKKIT
org.bukkit.event.EventException
        at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:37) ~[patched_1.10.2.jar:git-Paper-837]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.10.2.jar:git-Paper-837]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.10.2.jar:git-Paper-837]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) ~[patched_1.10.2.jar:git-Paper-837]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) ~[patched_1.10.2.jar:git-Paper-837]
        at net.minecraft.server.v1_10_R1.PlayerList.moveToWorld(PlayerList.java:711) ~[patched_1.10.2.jar:git-Paper-837]
        at org.bukkit.craftbukkit.v1_10_R1.entity.CraftPlayer.teleport(CraftPlayer.java:580) ~[patched_1.10.2.jar:git-Paper-837]
        at com.minecraftly.bukkit.listeners.PlayerListener.lambda$null$1(PlayerListener.java:239) ~[?:?]
        at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftFuture.run(CraftFuture.java:89) [patched_1.10.2.jar:git-Paper-837]
        at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:352) [patched_1.10.2.jar:git-Paper-837]
        at net.minecraft.server.v1_10_R1.MinecraftServer.D(MinecraftServer.java:781) [patched_1.10.2.jar:git-Paper-837]
        at net.minecraft.server.v1_10_R1.DedicatedServer.D(DedicatedServer.java:404) [patched_1.10.2.jar:git-Paper-837]
        at net.minecraft.server.v1_10_R1.MinecraftServer.C(MinecraftServer.java:725) [patched_1.10.2.jar:git-Paper-837]
        at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:624) [patched_1.10.2.jar:git-Paper-837]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]
Caused by: java.lang.NullPointerException
[08:04:18 INFO]: Using world b7de0a32-064c-45da-bd08-1120b7ff465b for VietNguyen|| Spawn location: Location{world=CraftWorld{name=b7de0a32-064c-45da-bd08-1120b7ff465b},x=697.0,y=72.0,z=-918.0,pitch=0.0,yaw=0.0}

New Request: Global Chat!

I believe that as an mod, we may need to a global chat system like [SHOUT]. I can understand if the request does not come by, but it would be a good and easier things for me or any staff to do when in minechat.

1.9 BungeeCord Compability

MinecraftlyBungee is currently not compatible with the latest BungeeCord on March 11, 2016.

17:08:07 [SEVERE] [MinecraftlyBungee] Error whilst applying reflection for default server.
java.lang.NoSuchFieldException: defaultServer
    at java.lang.Class.getDeclaredField(Class.java:2070)
    at com.minecraftly.bungee.utilities.BungeeUtilities.setListenerInfoField(BungeeUtilities.java:75)
    at com.minecraftly.bungee.MclyCoreBungeePlugin.onEnable(MclyCoreBungeePlugin.java:139)
    at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:227)
    at net.md_5.bungee.BungeeCord.start(BungeeCord.java:260)
    at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:55)
    at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15)
17:08:07 [INFO] Enabled plugin MinecraftlyBungee version 1.0-SNAPSHOT by Minecraftly Network

08:00:37 [WARNING] Exception encountered when loading plugin: MinecraftlyBungee
java.lang.UnsupportedOperationException
    at java.util.AbstractMap.put(AbstractMap.java:209)
    at net.md_5.bungee.config.Configuration.set(Configuration.java:97)
    at com.minecraftly.bungee.utilities.BungeeUtilities.copyDefaults(BungeeUtilities.java:108)
    at com.minecraftly.bungee.utilities.BungeeUtilities.copyDefaults(BungeeUtilities.java:104)
    at com.minecraftly.bungee.utilities.BungeeUtilities.copyDefaultsFromJarFile(BungeeUtilities.java:87)
    at com.minecraftly.bungee.utilities.BungeeUtilities.copyDefaultsFromJarFile(BungeeUtilities.java:83)
    at com.minecraftly.bungee.MclyCoreBungeePlugin.onEnable(MclyCoreBungeePlugin.java:104)
    at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:227)
    at net.md_5.bungee.BungeeCord.start(BungeeCord.java:260)
    at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:55)
    at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15)

Show all players on all servers in tablist

Currently, we use BungeeTablistPlus to show all players in tablist. The problem is, we don't need that much features.

As of right now, we just need a way to fill the tablist with all players (max 80), using Redis as a way to query player names.

New lables

I'd like some new labels.

  1. API
  2. Bukkit
  3. Bungee
  4. NMS
  5. Core
  6. Redis
  7. Database
  8. Filesystem

Remove "Loading worlds..." message

Upon joining, there's a message "Loading worlds..."

I think this message is better off be like "You are now in 's world." Basically showing the world that the player is currently in.

The message will show at join or whenever their world changes

Worldinfo command

Display all sorts of information to normal players, not just owners.
"worldpls" does not suffice.

MOTD per world

I think this feature is pretty good to encourage people to share their own server world:

Ability for branded motd that shows on Multiplayer server list.

For example: If I add coriori.m.ly as my server address, then the MOTD will show:

  • First line of coriori.m.ly will show "CoriOri's awesome world!"
  • Second line always shows the server website: http://coriori.m.ly

Configurable via config.json on BungeeCord plugin

Wiki link is broken

It seems that the wiki link for getting set up in the Readme file is broken.

Force spawn glitch

There's a bug that players get forced tp to spawn everytime they join, and somehow die in lava (because people grief). Can this be fixed and deployed quickly? Thanks!

Better user cache.

So one of the biggest things I've been running into is that redis isn't the best caching for user data, for example, UUID <-> name and (UUID|name)->Skin data

And lots of other stuff. Mostly this would be accessed by Bukkit, so MySQL? To add http into the mix is just going to add in another jump and still going to cause more issues than it will resolve.

My thoughts are mongo, maybe.. Just because it can be pretty loose and expandable unlike MySQL.

Use server's ethernet IP address instead of Google Cloud Platform's metadata

  • Currently, we are only compatible with Google Cloud Platform servers (they're VM called Google Compute Engine). That was a mistake that caused vendor lock in.
  • It's better to change so that it's compatible on any commodity servers so players and developers can setup their own cluster quickly via install.sh script.
  • Previously, we made ComputeEngineHelper.java query server ID and server's private IP address via Google Cloud Platform's metadata.
  • Moving forward, let's just query private IP address at eth0 or eth1 or lo (configurable) and move on with it.
  • IP=$(ifconfig eth0 | grep "inet addr" | cut -d ':' -f 2 | cut -d ' ' -f 1)

People see banned message at join.

Some players report themselves being banned upon joining today when joining their own world. When they log in again it's fine.

Probably due to world glitch?

Grief bug

A player reported it to me and I tested. I was able to grief any player's world.

Reproduction:

  1. I trust myself in my own world
  2. Wait til server auto reboot
  3. Do /world and grief anyone's world as I like.

Cannot do initial load without player being online.

  • Happens sometimes when I join other player server at (some-username).m.ly
[07:02:00] [Server thread/ERROR]: Could not pass event PlayerTeleportEvent to Minecraftly v1.0-SNAPSHOT
org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-PaperSpigot-"8b18730"]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[spigot.jar:git-PaperSpigot-"8b18730"]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-PaperSpigot-"8b18730"]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) ~[spigot.jar:git-PaperSpigot-"8b18730"]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) ~[spigot.jar:git-PaperSpigot-"8b18730"]
    at org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer.teleport(CraftPlayer.java:541) ~[spigot.jar:git-PaperSpigot-"8b18730"]
    at com.minecraftly.bukkit.utilities.BukkitUtilities.lambda$asyncLoadAndTeleport$12(BukkitUtilities.java:190) ~[?:?]
    at org.bukkit.craftbukkit.v1_8_R3.CraftWorld$2.run(CraftWorld.java:131) [spigot.jar:git-PaperSpigot-"8b18730"]
    at net.minecraft.server.v1_8_R3.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:140) [spigot.jar:git-PaperSpigot-"8b18730"]
    at org.bukkit.craftbukkit.v1_8_R3.CraftWorld.getChunkAtAsync(CraftWorld.java:128) [spigot.jar:git-PaperSpigot-"8b18730"]
    at org.bukkit.craftbukkit.v1_8_R3.CraftWorld.getChunkAtAsync(CraftWorld.java:139) [spigot.jar:git-PaperSpigot-"8b18730"]
    at com.minecraftly.bukkit.utilities.BukkitUtilities.asyncLoadAndTeleport(BukkitUtilities.java:189) [Minecraftly.jar:?]
    at com.minecraftly.bukkit.modules.playerworlds.ModulePlayerWorlds.spawnInWorld(ModulePlayerWorlds.java:272) [Minecraftly.jar:?]
    at com.minecraftly.bukkit.modules.playerworlds.ModulePlayerWorlds.joinWorld(ModulePlayerWorlds.java:248) [Minecraftly.jar:?]
    at com.minecraftly.bukkit.modules.playerworlds.handlers.PlayerListener.onPacketGotoWorld(PlayerListener.java:68) [Minecraftly.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_74]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_74]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_74]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_74]
    at com.ikeirnez.pluginmessageframework.internal.GatewaySupport.receivePacket(GatewaySupport.java:179) [Minecraftly.jar:?]
    at com.ikeirnez.pluginmessageframework.internal.GatewaySupport.incomingPayload(GatewaySupport.java:119) [Minecraftly.jar:?]
    at com.ikeirnez.pluginmessageframework.bukkit.ImplBukkitGateway.onPluginMessageReceived(ImplBukkitGateway.java:53) [Minecraftly.jar:?]
    at org.bukkit.plugin.messaging.StandardMessenger.dispatchIncomingMessage(StandardMessenger.java:427) [spigot.jar:git-PaperSpigot-"8b18730"]
    at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:2154) [spigot.jar:git-PaperSpigot-"8b18730"]
    at net.minecraft.server.v1_8_R3.PacketPlayInCustomPayload.a(SourceFile:55) [spigot.jar:git-PaperSpigot-"8b18730"]
    at net.minecraft.server.v1_8_R3.PacketPlayInCustomPayload.a(SourceFile:8) [spigot.jar:git-PaperSpigot-"8b18730"]
    at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-PaperSpigot-"8b18730"]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_74]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_74]
    at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot.jar:git-PaperSpigot-"8b18730"]
    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:774) [spigot.jar:git-PaperSpigot-"8b18730"]
    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
Caused by: java.lang.UnsupportedOperationException: Cannot do initial load without player being online.
    at com.minecraftly.bukkit.user.modularisation.UserData.initialLoad(UserData.java:66) ~[?:?]
    at com.minecraftly.bukkit.modules.playerworlds.data.world.WorldUserData.initialLoad(WorldUserData.java:177) ~[?:?]
    at com.minecraftly.bukkit.modules.playerworlds.data.world.WorldUserData.load(WorldUserData.java:223) ~[?:?]
    at com.minecraftly.bukkit.modules.playerworlds.data.world.WorldUserDataContainer.load(WorldUserDataContainer.java:49) ~[?:?]
    at com.minecraftly.bukkit.modules.playerworlds.data.world.WorldUserDataContainer.load(WorldUserDataContainer.java:18) ~[?:?]
    at com.minecraftly.bukkit.user.modularisation.ContainerUserData.getOrLoad(ContainerUserData.java:33) ~[?:?]
    at com.minecraftly.bukkit.modules.playerworlds.data.world.WorldStorageHandler.onPlayerTeleport(WorldStorageHandler.java:64) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_74]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_74]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_74]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_74]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) ~[spigot.jar:git-PaperSpigot-"8b18730"]
    ... 34 more

Per World Ranks

So I was thinking per world ranks.

  • Owner
  • Admin
  • Trusted
  • Member
  • Guest

Owner is obviously the owner, there can be only 1 and it's the owner of the world, with all permissions.

Admin can add trusted players and members, also set warps and various other things.

Trusted can build whilst there are no admins+ on.

Member can only build when admins+ are online.

Guests are guests.

Simple command /rank [player] [rank]

Also if we implement some sort of worldguard per universe actions per rank could easily be defined. And admins + can set them.

Just a side note these ranks will not correspond to the global permissions and will basically be hard coded. It just allows for a more dynamic and controlled world rather than having players being able to play nicely when the owner is on, but then when the owner leaves griefing and the owner's best friend not being able to do a thing.

Just an idea but in my eyes it can work well.

Feature Request: Complete chat suite

Public messaging modes:

  • Global is only global per instance (default):
    • Why? This is to prevent the chat box gets filled up quickly when there are thousands of players online. Basically people can chat with people who are most relevant to them.
    • By having it as default, new players will feel that it's less boring when they join, that there are actual people playing with them.
  • Per world:
    • This mode allows chat per world (and its related nether, the end) only. For people to like to talk with family and friends.

How to switch between chat modes? Use /chat command

Private messaging

  • /msg
    • Alias: /m, /tell, /message
  • /reply
    • Alias: /r
  • Private messaging must be globally working cross server.

Local and global warps

Each player can set 1 warp, inside their own world

Warp is global
Warp name is globally unique

Command blocks for messages.

I figured we could allow command blocks with only /msg /tellraw and /say? That way spawns and what not can be pretty. Also we could make use of this with some sort of tutorial? I was thinking of making one in my world in the cave.

Feature Request: Command /world {username}

This command will:

  • Teleport yourself to another player's server for easy navigation around the network
  • If the server is whitelisted, then don't teleport yourself.

Command format: /world {username}

Example: /world notch

Idea: Proxy world loading

I think when a world loads, there's a spike in TPS loss, as shown in timings.

Is it ever possible to have like world "world" be the proxy that loads other world, technically? (so only new chunks are loaded, not new world, hence might reduce TPS loss)

Double world loading when running 2 instances

I got this when running 2 instances of spigot servers

[09:38:51 INFO]: VietNguyen[/10.20.0.1:42683] logged in with entity id 65485 at ([b7de0a32-064c-45da-bd08-1120b7ff465b]703.5604715241536, 73.0, -914.6999999880791)
[09:38:51 INFO]: Using world b7de0a32-064c-45da-bd08-1120b7ff465b for VietNguyen|| Spawn location: Location{world=CraftWorld{name=b7de0a32-064c-45da-bd08-1120b7ff465b},x=720.0,y=83.0,z=-923.0,pitch=0.0,yaw=0.0}
[09:38:54 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_10_R1.ExceptionWorldConflict: The save for world located at /mnt/worlds/world is being accessed from another location, aborting
        at net.minecraft.server.v1_10_R1.WorldNBTStorage.checkSession(WorldNBTStorage.java:78) ~[patched_1.10.2.jar:git-Paper-837]
        at net.minecraft.server.v1_10_R1.World.checkSession(World.java:2974) ~[patched_1.10.2.jar:git-Paper-837]
        at net.minecraft.server.v1_10_R1.ChunkRegionLoader.a(ChunkRegionLoader.java:132) ~[patched_1.10.2.jar:git-Paper-837]
        at net.minecraft.server.v1_10_R1.ChunkProviderServer.saveChunk(ChunkProviderServer.java:237) [patched_1.10.2.jar:git-Paper-837]
        at net.minecraft.server.v1_10_R1.ChunkProviderServer.unloadChunk(ChunkProviderServer.java:349) [patched_1.10.2.jar:git-Paper-837]
        at net.minecraft.server.v1_10_R1.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:293) [patched_1.10.2.jar:git-Paper-837]
        at net.minecraft.server.v1_10_R1.WorldServer.doTick(WorldServer.java:243) [patched_1.10.2.jar:git-Paper-837]
        at net.minecraft.server.v1_10_R1.MinecraftServer.D(MinecraftServer.java:843) [patched_1.10.2.jar:git-Paper-837]
        at net.minecraft.server.v1_10_R1.DedicatedServer.D(DedicatedServer.java:404) [patched_1.10.2.jar:git-Paper-837]
        at net.minecraft.server.v1_10_R1.MinecraftServer.C(MinecraftServer.java:725) [patched_1.10.2.jar:git-Paper-837]
        at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:624) [patched_1.10.2.jar:git-Paper-837]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]

Can't load world properly after logging back in

  • Frequency: sometimes
[06:05:06 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:06 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:06 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:06 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:06 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:06 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:06 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:06 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:06 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:06 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:06 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:06 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:06 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:06 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:06 ERROR]: Couldn't save chunk; already in use by another instance of Minecraft?
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:09 INFO]: [PlayerWorlds] Unloaded world for player: 696f8b26-c97b-4e0c-b8f2-a1938d469701.
aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkRegionLoader.a(ChunkRegionLoader.java:121) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.saveChunk(ChunkProviderServer.java:268) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:374) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:234) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:830) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
[06:05:09 INFO]: [PlayerWorlds] Unloaded world for player: 696f8b26-c97b-4e0c-b8f2-a1938d469701.
[06:05:09 ERROR]: null
net.minecraft.server.v1_8_R3.ExceptionWorldConflict: The save for world located at /m/worlds/696f8b26-c97b-4e0c-b8f2-a1938d469701 is being accessed from another location, aborting
        at net.minecraft.server.v1_8_R3.WorldNBTStorage.checkSession(WorldNBTStorage.java:72) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.World.checkSession(World.java:2970) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.a(WorldServer.java:984) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.WorldServer.save(WorldServer.java:956) ~[spigot.jar:git-PaperSpigot-"8b18730"]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.unloadWorld(CraftServer.java:999) [spigot.jar:git-PaperSpigot-"8b18730"]
        at org.bukkit.Bukkit.unloadWorld(Bukkit.java:507) [spigot.jar:git-PaperSpigot-"8b18730"]
        at com.minecraftly.bukkit.modules.playerworlds.handlers.PlayerListener.checkWorldForUnload(PlayerListener.java:198) [Minecraftly.jar:?]
        at com.minecraftly.bukkit.modules.playerworlds.handlers.PlayerListener$3.run(PlayerListener.java:191) [Minecraftly.jar:?]
        at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59) [spigot.jar:git-PaperSpigot-"8b18730"]
        at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:349) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:783) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [spigot.jar:git-PaperSpigot-"8b18730"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [spigot.jar:git-PaperSpigot-"8b18730"]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]

Nether portals not working

It seems like because of the old code, nether portals don't work.

I've experienced it myself and saw a few people reported it.

I haven't checked end portal though.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.