Error when directing Bukkit to use ram disk

Discussion in 'Bukkit Help' started by desmin88, Feb 26, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    desmin88

    I'm attempting to use a ramdisk to increase the speed of the world loading etc, however, java throws some errors at me that I can't understand. I'm using dataram ramdisk set to FAT32 and Windows Boot Sector

    1.Windows 7 Professional
    2.x64
    3.java version "1.6.0_23"

    Full Console Below

    Code:
    18:50:31 [INFO] Starting minecraft server version Beta 1.3
    18:50:31 [INFO] Loading properties
    18:50:31 [INFO] Starting Minecraft server on *:25565
    18:50:31 [WARNING] **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
    18:50:31 [WARNING] The server will make no attempt to authenticate usernames. Be
    ware.
    18:50:31 [WARNING] While this makes the game possible to play without internet a
    ccess, it also opens up the ability for hackers to connect with any username the
    y choose.
    18:50:31 [WARNING] To change this, set "online-mode" to "true" in the server.set
    tings file.
    18:50:31 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-462-
    gf907c8e-b446jnks (MC: 1.3)
    18:50:31 [INFO] Preparing level "D:\world"
    18:50:31 [INFO] Preparing start region
    18:50:31 [SEVERE] java.io.FileNotFoundException: .\D:\world\session.lock (The fi
    lename, directory name, or volume label syntax is incorrect)
    18:50:31 [SEVERE]       at java.io.FileOutputStream.open(Native Method)
    18:50:31 [SEVERE]       at java.io.FileOutputStream.<init>(Unknown Source)
    18:50:31 [SEVERE]       at java.io.FileOutputStream.<init>(Unknown Source)
    18:50:31 [SEVERE]       at net.minecraft.server.PlayerNBTManager.f(SourceFile:37
    )
    18:50:31 [SEVERE]       at net.minecraft.server.PlayerNBTManager.<init>(SourceFi
    le:31)
    18:50:31 [SEVERE]       at net.minecraft.server.ServerNBTManager.<init>(SourceFi
    le:17)
    18:50:31 [SEVERE]       at net.minecraft.server.MinecraftServer.a(MinecraftServe
    r.java:145)
    18:50:31 [SEVERE]       at net.minecraft.server.MinecraftServer.d(MinecraftServe
    r.java:131)
    18:50:31 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:238)
    18:50:31 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:366)
    18:50:31 [SEVERE] java.lang.RuntimeException: Failed to check session lock, abor
    ting
    18:50:31 [SEVERE]       at net.minecraft.server.PlayerNBTManager.f(SourceFile:45
    )
    18:50:31 [SEVERE]       at net.minecraft.server.PlayerNBTManager.<init>(SourceFi
    le:31)
    18:50:31 [SEVERE]       at net.minecraft.server.ServerNBTManager.<init>(SourceFi
    le:17)
    18:50:31 [SEVERE]       at net.minecraft.server.MinecraftServer.a(MinecraftServe
    r.java:145)
    18:50:31 [SEVERE]       at net.minecraft.server.MinecraftServer.d(MinecraftServe
    r.java:131)
    18:50:31 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:238)
    18:50:31 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:366)
    18:50:31 [SEVERE] Unexpected exception
    java.lang.RuntimeException: Failed to check session lock, aborting
            at net.minecraft.server.PlayerNBTManager.f(SourceFile:45)
            at net.minecraft.server.PlayerNBTManager.<init>(SourceFile:31)
            at net.minecraft.server.ServerNBTManager.<init>(SourceFile:17)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:145)
            at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:238)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    >
    Batch file

    Code:
    @echo off
    title MCSERVER
    "%ProgramFiles%\Java\jre6\bin\java.exe" -server -Xincgc -Xmx2048M -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=2 -XX:+AggressiveOpts -jar craftbukkit-0.0.1-SNAPSHOT.jar -w D:\world
    --- merged: Feb 28, 2011 9:16 PM ---
    Can anyone help me here?
     
  2. Offline

    TnT

    Double check to ensure whatever world you are trying to start up in your ramdisk will work when you try to start it up outside your ramdisk - it looks to me like the world is corrupt.

    Do you have the option to use an NTFS drive instead of a FAT32 drive?
     
  3. Offline

    desmin88

    Worlds definitely not corrupted, because I copy it from a confirmed working bukkit folder.
    I do have the option to use Fat16, or unformatted.
    --- merged: Feb 28, 2011 10:19 PM ---
    Ahh, TNT, I might have found the problem. I've also found a ramdisk that formats to NTFS still with no go.

    In the console snippet below, it says .\D:\world, however, I inputed D:\world. If that is normal, well I'm outta luck. However, it says FileNotFoundException, but I do have the session.lock file in my world folder, so maybe its reading it wrong?
    18:50:31 [SEVERE] java.io.FileNotFoundException: .\D:\world\session.lock (The fi lename, directory name, or volume label syntax is incorrect)
    --- merged: Mar 1, 2011 11:32 PM ---
    So any ideas?
     
  4. Offline

    jwideman

    Yeah, the ".\" is where the problem is. See, bukkit is trying to load the world named "D:\world" in the directory ".\" Since you can only have the drive letter at the beginning of the path, this will fail.
    This is very easy to fix in win7 - all you need is a symlink.
    cd to the directory where your world would normally be
    mklink /j world D:\world
    That will create a symlink from world to D:\world and bukkit - and windows - will think "D:\world" is at "world". It will still be at "D:\world" and you can do normal file operations using that, but it will also be at symlink.
     
  5. Offline

    diegokilla

    hi there, saw this post and as i am trying to learn as much as i can about different configurations for servers, I was hoping someone could expalin the different sections of how this person has their batch file set up... please :D Edit: Or possibly link to a good tutorial?
    Thanks in advance.
     
  6. Offline

    desmin88

    jwideman. Thank you.

    Fixed all my problems.
     
  7. Offline

    jwideman

    Most of that is "tweaking" the garbage collection and other features of the JVM. Beyond allocating memory for the JVM, you really shouldn't add parameters unless you know what you're doing, and it's not the sort of thing easily explained in a simple tutorial. Further, those parameters are non-standard - on one JVM they'll improve performance, on another they'll do nothing, and on yet another they'll reduce performance.
     
  8. Offline

    Phaedrus

    Dataram ramdisk can be formated to NTFS by the way, you just have to select unformatted in the program, and format the drive yourself with windows disk manager. Just an FYI

    You may also want to simplify your setup and put the entire server directory into the ram disk. It doesn't add significantly to the total data usage compared to the world directory. Just make sure you are taking frequent backups of your configs and plugins along with your world.
     
  9. Offline

    jwideman

    It won't hurt, but there's no benefit to it. Almost all of your disk activity is in loading and saving chunks.
     
  10. Offline

    GiraffeHunter

    I'm curious if you see better performance running this from a flash drive. Please post your results if you get it working.
     
  11. Offline

    jwideman

    First off, I don't recommend anyone try this experiment unless they are willing to destroy a flash drive, for the same reason you get a performance boost running from a ramdisk instead of the HDD. It's also why you don't run Minecraft from an SSD.
    Secondly, you might see a performance boost, or you might see the opposite. Flash drives vary greatly in speeds, particularly when writing. You are likely to see a performance gain when starting up, but for a lot of flash drives the writes are slow as hell.
    In any case, you'll see nowhere near as much an improvement as a ramdisk.
     
  12. Offline

    Wiinick

    The reason u dont run anything on a flashdrive (OS, data intensive) is because each and every sector has about 10,000 write and reads, once done, it breaks. You can completely ruin a cheap drive like this. SSD's have more. HDD are practically unlimited so to speak.
     
Thread Status:
Not open for further replies.

Share This Page