Application RemoteToolkit - Restarts + crash detection + auto saves + remote console!

Discussion in 'Bukkit Tools' started by drdanick, Jan 15, 2011.

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

    drdanick

    Minecraft RemoteToolkit
    -Less downtime, more fun for your players, more power to you!

    Are you a Minecraft server administrator? Do you value up-time and stability? Do you fancy the ability to remotely control your server, both in-game and out of game, in a myriad of useful ways from a plethora of different devices?
    If you answered yes to any of the above, then the Minecraft RemoteToolkit is for you!


    What the Minecraft RemoteToolkit Plugin and Wrapper do for you:
    • Provides almost perfect server uptime with no need for action from an owner/administrator!
    • Have your server save and restart at any time period with configurable restart warnings!
    • The Toolkit guarantees a restart within the set restart period, even if your server crashes, becomes unresponsive, or encounters a "SEVERE" exception!
    • Remotely control every function of the Toolkit, even from your smart phone!
    • Full remote console access via telnet with support for multiple terminal types!
    • Telnet daemon conforms to current Telnet related RFCs!
    • Customizable alert messages!
    • Fully extendable though 3rd party modules!
    • Full feature set works with most craftbukkit builds!
    • Most features work with any Minecraft server variation, even vanilla!
    • Telnet can be disabled!
    For server administrators
    Download - Release 10, Alpha 15.3 [CB 1.7.2-R0.2] (wget friendly)
    Instructions & Documentation

    For developers
    UDP API REV 8 | Documentation
    Module API | Coming soon!

    For everyone
    Official IRC channel
    #remotetoolkit @ irc.esper.net


    "Help! I've downloaded it, but I do not know how to get it working!"
    Stop! Before you give up or ask for help, make sure you have read the step-by-step installation instructions on the wiki page. If you are still having problems, please do not be hesitant to post a request for help on this thread or in the IRC channel - no matter how simple your problem seems.


    Todo


    [​IMG][​IMG]
    Any donation would be very much appreciated. I'm but a poor University student, and I sacrifice quite a lot of unpaid time to keep the Toolkit updates and support flowing.

    Thank you to the following who have chosen to support the Toolkit through a donation:
    Deren909, marshall007, Vittek, clanslots, meee, KyneSilverhide, szoller, hungoverfurball, Lama_0, Viet, acc1dent, joby890, Liger_XT5
     
    Last edited: May 6, 2017
  2. Offline

    SplenectomY

    Bug report:

    I've been using the same version of rltoolkit for about two weeks now and had no problems up until today. I have been adding more and more plugins to the server as this time period elapsed, and today I got a java.heap.space outofmemory error in the wrapper (NOT the server) that caused the wrapper to go down and take the server with it. It shat out this ugly log. Should I increase the allotted memory to running the wrapper? Should I be running garbage collection arguments in the wrapper's startup script? Any input is appreciated.

    (first here is my run script args) java -Xmx30M -Xms30M -XX:MaxPermSize=40M -jar /root/Minecraft_RKit.jar USER:pASS

    and now the uglyness:

    Code:
    #
    # A fatal error has been detected by the Java Runtime Environment:
    #
    #  SIGSEGV (0xb) at pc=0x012e06a1, pid=27046, tid=3010554768
    #
    # JRE version: 6.0_17-b17
    # Java VM: OpenJDK Client VM (14.0-b16 mixed mode linux-x86 )
    # Derivative: IcedTea6 1.7.5
    # Distribution: Custom build (Wed Oct 13 13:04:40 EDT 2010)
    # Problematic frame:
    # V  [libjvm.so+0x3536a1]
    #
    # If you would like to submit a bug report, please include
    # instructions how to reproduce the bug and visit:
    #   http://icedtea.classpath.org/bugzilla
    #
    
    ---------------  T H R E A D  ---------------
    
    Current thread (0x095a9c00):  VMThread [stack: 0xb3696000,0xb3717000] [id=27048]
    
    siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0xb300c6a8
    
    Registers:
    EAX=0xb300c6ab, EBX=0x013daf54, ECX=0x00000006, EDX=0xb300c6a8
    ESP=0xb3715bb0, EBP=0xb3715be8, ESI=0xb3ffc900, EDI=0xff00fda8
    EIP=0x012e06a1, CR2=0xb300c6a8, EFLAGS=0x00010283
    
    Top of Stack: (sp=0xb3715bb0)
    0xb3715bb0:   095f07f4 01245c7e 00000006 b3ffc900
    0xb3715bc0:   b56efff0 b5a40570 00000000 010f9501
    0xb3715bd0:   b5a40570 b5a400e0 b3715c28 013daf54
    0xb3715be0:   0955d058 b3715c98 b3715c08 011468cc
    0xb3715bf0:   0955d058 b5a405d8 b3715c28 b56f0000
    0xb3715c00:   b5a405d8 00000000 b3715c28 01140e52
    0xb3715c10:   09558c90 b56f0000 000d4176 013daf54
    0xb3715c20:   0955d658 0955b7b0 b3715c48 0113d480
    
    Instructions: (pc=0x012e06a1)
    0x012e0691:   fc 76 04 39 c7 76 1a 83 f9 20 77 11 29 f7 8b 06
    0x012e06a1:   89 04 37 83 c6 04 83 e9 01 75 f3 eb 24 f3 a5 eb
    
    Stack: [0xb3696000,0xb3717000],  sp=0xb3715bb0,  free space=510k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    V  [libjvm.so+0x3536a1]
    V  [libjvm.so+0x1b98cc]
    V  [libjvm.so+0x1b3e52]
    V  [libjvm.so+0x1b0480]
    V  [libjvm.so+0x1b3982]
    V  [libjvm.so+0x1b3cb2]
    V  [libjvm.so+0x1ba630]
    V  [libjvm.so+0x393191]
    V  [libjvm.so+0x1b29ff]
    V  [libjvm.so+0x1307d0]
    V  [libjvm.so+0x1b097c]
    V  [libjvm.so+0x3d311b]
    V  [libjvm.so+0x3d8f71]
    V  [libjvm.so+0x3d7a0a]
    V  [libjvm.so+0x3d8829]
    V  [libjvm.so+0x3d8b25]
    V  [libjvm.so+0x2fd138]
    C  [libpthread.so.0+0x54d2]
    
    VM_Operation (0xb325fc34): GenCollectForAllocation, mode: safepoint, requested by thread 0x0965e000
     
    ---------------  P R O C E S S  ---------------
    
    Java Threads: ( => current thread )
      0x0965fc00 JavaThread "stdin" daemon [_thread_in_native, id=27065, stack(0xb31bf000,0xb3210000)]
      0x0965e000 JavaThread "stderr" daemon [_thread_blocked, id=27064, stack(0xb3210000,0xb3261000)]
      0x0964c800 JavaThread "Thread-4" [_thread_blocked, id=27062, stack(0xb3354000,0xb33a5000)]
      0x09647c00 JavaThread "process reaper" daemon [_thread_in_native, id=27060, stack(0xb32b2000,0xb3303000)]
      0x0963cc00 JavaThread "Timer-2" [_thread_blocked, id=27059, stack(0xb3303000,0xb3354000)]
      0x0963b400 JavaThread "Thread-2" [_thread_in_native, id=27058, stack(0xb33a5000,0xb33f6000)]
      0x09632400 JavaThread "HookQueue" daemon [_thread_blocked, id=27055, stack(0xb33f6000,0xb3447000)]
      0x095c6000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=27053, stack(0xb34d1000,0xb3522000)]
      0x095c2c00 JavaThread "CompilerThread0" daemon [_thread_blocked, id=27052, stack(0xb3522000,0xb35a3000)]
      0x095c0400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=27051, stack(0xb35a3000,0xb35f4000)]
      0x095ae400 JavaThread "Finalizer" daemon [_thread_blocked, id=27050, stack(0xb35f4000,0xb3645000)]
      0x095acc00 JavaThread "Reference Handler" daemon [_thread_blocked, id=27049, stack(0xb3645000,0xb3696000)]
      0x09557c00 JavaThread "main" [_thread_blocked, id=27047, stack(0xb7f01000,0xb7f52000)]
    
    Other Threads:
    =>0x095a9c00 VMThread [stack: 0xb3696000,0xb3717000] [id=27048]
      0x095c8000 WatcherThread [stack: 0xb3450000,0xb34d1000] [id=27054]
    
    VM state:at safepoint (normal execution)
    
    VM Mutex/Monitor currently owned by a thread:  ([mutex/lock_event])
    [0x09555fd0] Threads_lock - owner thread: 0x095a9c00
    [0x095563e0] Heap_lock - owner thread: 0x0965e000
    
    Heap
     def new generation   total 2112K, used 2111K [0xb38f0000, 0xb3b30000, 0xb3b30000)
      eden space 1920K, 100% used [0xb38f0000, 0xb3ad0000, 0xb3ad0000)
      from space 192K,  99% used [0xb3b00000, 0xb3b2ffd8, 0xb3b30000)
      to   space 192K,   0% used [0xb3ad0000, 0xb3ad0000, 0xb3b00000)
     tenured generation   total 28416K, used 28416K [0xb3b30000, 0xb56f0000, 0xb56f0000)
       the space 28416K, 100% used [0xb3b30000, 0xb56f0000, 0xb56f0000, 0xb56f0000)
     compacting perm gen  total 12288K, used 3393K [0xb56f0000, 0xb62f0000, 0xb7ef0000)
       the space 12288K,  27% used [0xb56f0000, 0xb5a405d8, 0xb5a40600, 0xb62f0000)
    No shared spaces configured.
    
    Dynamic libraries:
    00110000-00251000 r-xp 00000000 08:01 295074     /lib/i686/nosegneg/libc-2.5.so
    00251000-00253000 r--p 00141000 08:01 295074     /lib/i686/nosegneg/libc-2.5.so
    00253000-00254000 rw-p 00143000 08:01 295074     /lib/i686/nosegneg/libc-2.5.so
    00254000-00257000 rw-p 00254000 00:00 0
    00257000-00263000 r-xp 00000000 08:01 362837     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libverify.so
    00263000-00264000 rw-p 0000b000 08:01 362837     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libverify.so
    00264000-0026a000 r-xp 00000000 08:01 379098     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/native_threads/libhpi.so
    0026a000-0026b000 rw-p 00006000 08:01 379098     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/native_threads/libhpi.so
    002e9000-002f2000 r-xp 00000000 08:01 294961     /lib/libnss_files-2.5.so
    002f2000-002f3000 r--p 00008000 08:01 294961     /lib/libnss_files-2.5.so
    002f3000-002f4000 rw-p 00009000 08:01 294961     /lib/libnss_files-2.5.so
    002f4000-0030e000 r-xp 00000000 08:01 294971     /lib/ld-2.5.so
    0030e000-0030f000 r--p 00019000 08:01 294971     /lib/ld-2.5.so
    0030f000-00310000 rw-p 0001a000 08:01 294971     /lib/ld-2.5.so
    004a9000-004b0000 rwxp 004a9000 00:00 0
    004b0000-004be000 rwxp 004b0000 00:00 0
    005e4000-005f7000 r-xp 00000000 08:01 362830     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libnet.so
    005f7000-005f8000 rw-p 00012000 08:01 362830     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libnet.so
    006de000-006e1000 rwxp 006de000 00:00 0
    006e1000-0075e000 rwxp 006e1000 00:00 0
    00792000-00795000 r-xp 00000000 08:01 379096     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/jli/libjli.so
    00795000-00796000 rw-p 00003000 08:01 379096     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/jli/libjli.so
    0083d000-00850000 r-xp 00000000 08:01 295163     /lib/libnsl-2.5.so
    00850000-00851000 r--p 00012000 08:01 295163     /lib/libnsl-2.5.so
    00851000-00852000 rw-p 00013000 08:01 295163     /lib/libnsl-2.5.so
    00852000-00854000 rw-p 00852000 00:00 0
    008b7000-008b9000 r-xp 00000000 08:01 295066     /lib/libdl-2.5.so
    008b9000-008ba000 r--p 00001000 08:01 295066     /lib/libdl-2.5.so
    008ba000-008bb000 rw-p 00002000 08:01 295066     /lib/libdl-2.5.so
    0092b000-00931000 r-xp 00000000 08:01 362838     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libzip.so
    00931000-00932000 rw-p 00005000 08:01 362838     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libzip.so
    009c3000-009d6000 r-xp 00000000 08:01 295081     /lib/i686/nosegneg/libpthread-2.5.so
    009d6000-009d7000 r--p 00013000 08:01 295081     /lib/i686/nosegneg/libpthread-2.5.so
    009d7000-009d8000 rw-p 00014000 08:01 295081     /lib/i686/nosegneg/libpthread-2.5.so
    009d8000-009da000 rw-p 009d8000 00:00 0
    00a00000-00a07000 r-xp 00000000 08:01 295079     /lib/i686/nosegneg/librt-2.5.so
    00a07000-00a08000 r--p 00006000 08:01 295079     /lib/i686/nosegneg/librt-2.5.so
    00a08000-00a09000 rw-p 00007000 08:01 295079     /lib/i686/nosegneg/librt-2.5.so
    00a14000-00a26000 r-xp 00000000 08:01 312960     /usr/lib/libz.so.1.2.3
    00a26000-00a27000 rw-p 00011000 08:01 312960     /usr/lib/libz.so.1.2.3
    00a88000-00aad000 r-xp 00000000 08:01 295082     /lib/i686/nosegneg/libm-2.5.so
    00aad000-00aae000 r--p 00024000 08:01 295082     /lib/i686/nosegneg/libm-2.5.so
    00aae000-00aaf000 rw-p 00025000 08:01 295082     /lib/i686/nosegneg/libm-2.5.so
    00cad000-00ccf000 r-xp 00000000 08:01 362819     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libjava.so
    00ccf000-00cd1000 rw-p 00022000 08:01 362819     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libjava.so
    00d1e000-00d33000 rwxp 00d1e000 00:00 0
    00d33000-00d41000 rwxp 00d33000 00:00 0
    00d41000-00d42000 rwxp 00d41000 00:00 0
    00db8000-00dc6000 rwxp 00db8000 00:00 0
    00f8c000-00f8d000 r-xp 00f8c000 00:00 0          [vdso]
    00f8d000-013c5000 r-xp 00000000 08:01 362807     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/client/libjvm.so
    013c5000-013e7000 rw-p 00438000 08:01 362807     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/client/libjvm.so
    013e7000-01806000 rw-p 013e7000 00:00 0
    048f6000-04996000 rwxp 048f6000 00:00 0
    04996000-068f6000 rwxp 04996000 00:00 0
    08048000-08051000 r-xp 00000000 08:01 346774     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/java
    08051000-08052000 rw-p 00008000 08:01 346774     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/java
    09552000-0976c000 rw-p 09552000 00:00 0
    b30c4000-b31bf000 rw-p b30c4000 00:00 0
    b31bf000-b31c2000 ---p b31bf000 00:00 0
    b31c2000-b3210000 rw-p b31c2000 00:00 0
    b3210000-b3213000 ---p b3210000 00:00 0
    b3213000-b3261000 rw-p b3213000 00:00 0
    b3261000-b3264000 rwxp b3261000 00:00 0
    b3264000-b32b2000 rw-p b3264000 00:00 0
    b32b2000-b32b5000 ---p b32b2000 00:00 0
    b32b5000-b3303000 rw-p b32b5000 00:00 0
    b3303000-b3306000 ---p b3303000 00:00 0
    b3306000-b3354000 rw-p b3306000 00:00 0
    b3354000-b3357000 ---p b3354000 00:00 0
    b3357000-b33a5000 rw-p b3357000 00:00 0
    b33a5000-b33a8000 ---p b33a5000 00:00 0
    b33a8000-b33f6000 rw-p b33a8000 00:00 0
    b33f6000-b33f9000 ---p b33f6000 00:00 0
    b33f9000-b3447000 rw-p b33f9000 00:00 0
    b3447000-b3450000 r--s 00060000 08:01 346803     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/ext/gnome-java-bridge.jar
    b3450000-b3451000 ---p b3450000 00:00 0
    b3451000-b34d1000 rw-p b3451000 00:00 0
    b34d1000-b34d4000 ---p b34d1000 00:00 0
    b34d4000-b3522000 rw-p b34d4000 00:00 0
    b3522000-b3525000 ---p b3522000 00:00 0
    b3525000-b35a3000 rw-p b3525000 00:00 0
    b35a3000-b35a6000 ---p b35a3000 00:00 0
    b35a6000-b35f4000 rw-p b35a6000 00:00 0
    b35f4000-b35f7000 ---p b35f4000 00:00 0
    b35f7000-b3645000 rw-p b35f7000 00:00 0
    b3645000-b3648000 ---p b3645000 00:00 0
    b3648000-b3696000 rw-p b3648000 00:00 0
    b3696000-b3697000 ---p b3696000 00:00 0
    b3697000-b374d000 rw-p b3697000 00:00 0
    b374d000-b38f0000 r--s 01a10000 08:01 346832     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/rt.jar
    b38f0000-b62f0000 rwxp b38f0000 00:00 0
    b62f0000-b7ef0000 rwxp b62f0000 00:00 0
    b7ef1000-b7ef5000 r--s 0003a000 08:01 346823     /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/jsse.jar
    b7ef5000-b7ef9000 r--s 00026000 08:01 1163289    /root/Minecraft_RKit.jar
    b7ef9000-b7f01000 rw-s 00000000 08:01 1392641    /tmp/hsperfdata_root/27046
    b7f01000-b7f04000 ---p b7f01000 00:00 0
    b7f04000-b7f54000 rw-p b7f04000 00:00 0
    b7f55000-b7f56000 rw-p b7f55000 00:00 0
    b7f56000-b7f57000 ---p b7f56000 00:00 0
    b7f57000-b7f58000 rw-p b7f57000 00:00 0
    bfb5d000-bfb93000 rw-p bffc8000 00:00 0          [stack]
    
    VM Arguments:
    jvm_args: -Xmx30M -Xms30M -XX:MaxPermSize=40M
    java_command: /root/Minecraft_RKit.jar USER:PASS
    Launcher Type: SUN_STANDARD
    
    Environment Variables:
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    LD_LIBRARY_PATH=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/client:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/../lib/i386
    SHELL=/bin/bash
    
    Signal Handlers:
    SIGSEGV: [libjvm.so+0x3d28f0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGBUS: [libjvm.so+0x3d28f0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGFPE: [libjvm.so+0x2f8b90], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGPIPE: [libjvm.so+0x2f8b90], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGXFSZ: [libjvm.so+0x2f8b90], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGILL: [libjvm.so+0x2f8b90], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
    SIGUSR2: [libjvm.so+0x2fb190], sa_mask[0]=0x00000000, sa_flags=0x10000004
    SIGHUP: [libjvm.so+0x2f9ff0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGINT: [libjvm.so+0x2f9ff0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGTERM: [libjvm.so+0x2f9ff0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGQUIT: [libjvm.so+0x2f9ff0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
     
    ---------------  S Y S T E M  ---------------
    
    OS:CentOS release 5.3 (Final)
    
    uname:Linux 2.6.18-194.32.1.el5xen #1 SMP Wed Jan 5 19:32:33 EST 2011 i686
    libc:glibc 2.5 NPTL 2.5
    rlimit: STACK 10240k, CORE 0k, NPROC 16512, NOFILE 1024, AS infinity
    load average:1.00 0.94 0.61
    
    CPU:total 2 (4 cores per cpu, 1 threads per core) family 6 model 23 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1
    
    Memory: 4k page, physical 1048576k(124124k free), swap 1048568k(1044880k free)
    
    vm_info: OpenJDK Client VM (14.0-b16) for linux-x86 JRE (1.6.0_17-b17), built on Oct 13 2010 13:20:14 by "mockbuild" with gcc 4.1.2 20080704 (Red Hat 4.1.2-48)
    
    time: Fri Mar 18 22:42:40 2011
    elapsed time: 2268 seconds
    
    
     
  3. Offline

    drdanick

    Oh dear, thats not good. Were you using telnet or anything before the crash? Also, how long was the wrapper running before it crashed?

    Try allocating 10MB more to each of the 3 heaps.

    I would have to re-implement parts of the actual minecraft server for that to work. It would take quite some time, and I unfortunately must prioritize University work. I'm writing up the module documentation soon, other people are welcome to write a module to do this.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jan 8, 2016
  4. Offline

    SplenectomY

    No on telnet, but I was using 2 instances of PuTTY to manage the server via console and I had my SFTP client (FileZilla) connected. The wrapper was running for no more than 20 minutes.

    I will be the first to admit that my server is REALLY stable for the limits I'm pushing it to. It's VERY plugin heavy and requires a lot of babysitting right now. So I may be a limited case. I've been running the server since I posted that error report with no problem related to the wrapper since, though I did seem to get a memory related error on the server side. Perhaps it's time to raise my 1gb to 2gb on the ram.

    I will raise the -Xmx and -Xms to 40 mb and the other argument to 50mb. I will keep you posted on the results. Thanks for the amazing wrapper/plugin.

    Also, would it help to run it with the -server argument?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jan 8, 2016
  5. Offline

    drdanick

    Hmm, in that case I can't imagine that it's a memory leak. It would have to be running longer for that to be the case.
    1gb is REALLY pushing it though :p

    Nope, the JVM is probably running in that mode anyway.

    @GameFAQsRolo I have found and fixed the problem you were having. It was to do with a non-existant telnet output queue being used for synchronization, even when telnet was disabled.

    @SgtSpike your problem should also have been fixed. Can you find out what telnet client the other admin was using? It wasn't terminating the telnet correction correctly, so the wrapper assumed it was still there.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jan 8, 2016
    SplenectomY likes this.
  6. Offline

    crazydrummer

    When I launch 'rtoolkit.bat', it does not start the craftbukki-0.0.1-SNAPSHOT, even though that is what I set for 'minecraft-server-jar=' in the wrapper.properties. Can anyone help?
     
  7. Offline

    drdanick

    Do you get any console output? I'd like to see the error you're getting.
     
  8. Offline

    crazydrummer

    Code:
    Minecraft Remote Toolkit V1.0_b18_3 ALPHA
    Initializing...
    Loading toolkit properties...Done.
    Loading toolkit modules...Done.
    Wrapper is running on: Windows XP 5.1 x86
    Starting wrapper...
    Starting UDP listen server on port 25561
    Mar 19, 2011 10:05:57 PM net.wimpi.telnetd.net.PortListener run
    INFO: Listening to Port 25,561 with a connectivity queue size of 5.
    It seems to be working fine, but without the minecraft server.
     
  9. Offline

    drdanick

    Read up. There are issues with running bukkit as a child process in XP. Sometimes pressing enter is enough, but it's not ideal. :/
     
  10. Offline

    tehMugwump

    Not to sound redundant, but I'm having the exact same issue on XP & Bukkit. Remote Toolkit runs but sits doing nothing until I hit Enter a couple times. Then the server fires up and Remote Tookit works like a charm and even shuts down the server, but sits at "restarting server....." until I hit Enter again. Kind of defeats the purpose if I have to manually kick it in the butt...

    Anyway, here's hoping for a fix. I'm sure there's a lot of folks in the same boat with an XP box as their server (a little expensive to upgrade to Windows 7 when you're only using the box for a Minecraft server...)
     
  11. Offline

    crazydrummer

    Ok, thanks. At least I know what the problem is now.
     
  12. Offline

    drdanick

    The problem seems to either lie with jline, or sometihng else on bukkits end. This is quite a complicated thing to fix, it seems. It may requre some modification to bukkit itself.
     
  13. Offline

    NEO

    Is there a way to check when the next restart is? I,ll be working on a feature to add thinking i have hours before a restart and then boom restart.
     
  14. Offline

    drdanick

    I have been meaning to add that for some time now. I'll probably get it in over the next few days.
     
  15. Is it possible to run server with -Xincgc ? And how with this wraper?
     
  16. Offline

    drdanick

    Yes. If you were going to add that option to the default configuration, the following line in wrapper.properties should be modified to look like this:

    Code:
    extra-runtime-arguments=-Djline.terminal\=jline.UnsupportedTerminal,-Xincgc
    
     
  17. Offline

    Chris Lewis

    Ok sry for sounding like a noob but im learning as fast as I can, im currently running with these settings in the rtoolkit.bat file
    @ECHO off
    java -Xmx1606M -Xms1024M -XX:MaxPermSize=40M -jar Minecraft_RKit.jar user:pass

    I have a very high end gaming machine actually running the server and i want to allocate more resources, but im trying to understand the differences between heap and setting the RAM. or is it the same? Also I have noticed that after a few hours of running the wrapper typing a command in the console take a long time to execute and thus it takes a long time to log into the game for my clients (if they get in at all)

    Should i add more to maxpermsize? BTW i am VERY plugin heavy, you can see my list in my sig at the bottom. I have a 12gb gaming machine running this server and want to let the server use up to 4gb of memory, what is the best settings I can use? on all 3 variables?

    I also ran into some possible optimization extra-runtime-arguments?
    -XX:+UseParNewGC
    -XX:+CMSIncrementalPacing
    -XX: ParallelGCThreads=2
    -XX:+AggressiveOpts

    Does anyone know the affect of these and whether it would be a good thing to add to my server?

    Also since I have a x64 machine, is this going to to default to the 64bit vers of Java?
     
  18. Offline

    cyberbobjr

    Hi Doctor,
    The UDP command works very well. But i still have some troubles with Telnet command.
    I have often these errors (when i do a list or a save-on for example) :
    Code:
    Mar 23, 2011 2:11:39 PM net.wimpi.telnetd.net.ConnectionManager cleanupClosed
    INFO: cleanupClosed():: Removing closed connection Thread[Connection1,5,]
    java.util.ConcurrentModificationException
            at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:778)
            at java.util.LinkedList$ListItr.next(LinkedList.java:713)
            at com.drdanick.McRKit.Wrapper.enqueueStringToShells(Wrapper.java:617)
            at com.drdanick.McRKit.Wrapper.access$000(Wrapper.java:24)
            at com.drdanick.McRKit.Wrapper$3.run(Wrapper.java:301)
    >Telnet input stream error: java.io.EOFException
    Telnet input stream closing...
    And after that, i can't send Telnet Command or UDP command at all :(
    If then i do a CTRL+C, i have :

    Code:
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>java.i
    o.IOException: Stream closed
            at java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:162)
            at java.io.BufferedInputStream.read(BufferedInputStream.java:325)
            at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:282)
            at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:324)
            at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:176)
            at java.io.InputStreamReader.read(InputStreamReader.java:184)
            at java.io.BufferedReader.fill(BufferedReader.java:153)
            at java.io.BufferedReader.read(BufferedReader.java:174)
            at com.drdanick.McRKit.Wrapper$2.run(Wrapper.java:251)
    That's why i request a feature :p :
    Can you wrap console command with UDP command ?
    For example, i would like to send via UDP for a "list" console command :
    list:username: password

    and take the output (in json or other format).
    Do you think is a good idea ?
    Thanks for your help.
    Regards.
     
  19. Offline

    drdanick

    You must use the properties in wrapper.properties to set the heap size for the server. What you did was allocate 1606MB of memory to the wrapper, not the server. Server memory can be configured with maximum-heap-size and minimum-heap-size. Make sure that you are only allocating about 30MB to the wrapper, otherwise it's a bit of a waste of resources.

    Those settings pertain to the way Java does its garbage collection. A lot of people stand by those arguments as being able to greatly/somewhat improve performance. Although, I have not noticed any noticeable difference in performance. It could not hurt to try them, so go ahead.

    I'll will add support for UDP console commands soon, but I have a few University assignments to get out of the way first. It's still worrying that the output queueing method isn't synchronizing properly. There is an alternate way of getting thread synchronization on that method, and i'll look at implementing that as well.
     
  20. Offline

    Chris Lewis

    Thanks for the help i appreciate it! I will be running full testing of my server now on 556 with 4gb of memory allocated to my server... no worries that still means 8gb for me ;)

    After some testing i left my server alone for about an hour and my computer went to screensaver (running win 7 x64 ultimate) when i came back the normal "cmd" window for the server/wrapper was closed completely, couldn't find a way to bring it back up, also trying to telnet into it with putty failed and trying to login with the client resulted in a login timeout..... of course there were no errors that i could paste here... and the last time i noticed something like this was this morning when i had the server running overnight. I came back in the morning and the "cmd" window was open and the server appeared to be running, but typing the reload command did nothing the wrapper just sat there, and i could not log into the server from the client either. Any ideas/help would be greatly appreciated
     
  21. Offline

    drdanick

    Open the .bat file and add a new line with "pause" (no quotes) to the end of the file. This will let you see any errors that may have caused the server to crash when the window shut. I cannot give a reson as to why it would just become completely unresponsive. To me, that suggests that the IO streams between the server and wrapper had been broken. If this happens again, try entering a wrapper specific command, such as .version or .help and tell me if it dispays a response.
     
  22. Offline

    Chris Lewis

    To clarify the "server/wrapper" was still running in the processes list in the task manager.... however as mentioned i couldnt open it up. I ran the server all night with a few tweaks to the memory on both the wrapper and the server and this morning, console is still up and server is responding correctly, so hopefully that stabalizes my server....
     
  23. Offline

    WolwX

    hi there :)

    I really like your plugin, it's work perfectly when I use it alone :)

    But I have some problems with "special" uses :(

    Perhaps someone will help me about that ...

    I use a php manager to start my MineCraft server, using a screen and doing the task like that :
    I use a "startmode" calling the java file of my server
    java -Xms{Ram}M -Xmx{Ram}M -jar {Server jar} nogui

    So as you see, that's important I keep those two tokens "Ram" and "Server jar"

    So my first question is how I can start my MineCraft server by my php manager by including your plugin with it
    java -Xmx30M -Xms30M -XX:MaxPermSize=40M -jar Minecraft_RKit.jar ?

    And the second one, my server crash because of a big server.log file, I was trying to include a function to move, or delete it when restarting with your plugin, but when a restart is launched, theres is no move of my server.log

    I tried to edit the rtoolkit.sh like that :

    Code:
    #!/bin/bash
    
    USER=user
    PASS=pass
    
    ##YOU SHOULD NOT NEED TO EDIT ANYTHING BELOW THIS LINE##
    (cd "$DIRECTORY";
    ./mv-logs.sh;
    java -Xmx30M -Xms30M -XX:MaxPermSize=40M -jar Minecraft_RKit.jar ${USER}:${PASS})
    Or to edit the wrapper.properties like that :
    Code:
    overridden-process-arguments=./mv-logs.sh; java -Xms1024M -Xmx1024M -jar craftbukkit-0.0.1-SNAPSHOT.jar nogui sleep 5
    
    Without success :(
    Someone can help me please ?
     
  24. Offline

    Chris Lewis

    Ok my problem came back, this time im prepped with a log.
    Basically it makes the server unresponsive to any commands.... requires a restart to respond or let anyone login

    **edit** - wrapper still functions, but its the server that crashed, did a little research and hopefully changing my transmit buffers will help with this issue. Thanks so much for this plugin/wrapper its a life saver!
     
  25. Please add a change log to the updates from now on... I never know what's changed from one version to the next
     
  26. My console keeps getting flooded with this error message every hour.
    Code:
    Starting UDP listen server on port 25561
    UDP Socket exception: java.net.BindException: Address already in use: Cannot bind
    But weirdly sometimes it doesn't do it, and just binds straight away. I tried changing the port number to really obscure ones, but it makes no difference.
    Startup log: http://pastie.org/1717786
    Wrapper config: http://pastie.org/1717794
    Remote config: http://pastie.org/1717799
    Running Release 10, Alpha 8.3 and CB556
     
  27. Offline

    blackmist

    Does this work if my server IP is a tunngle IP?
     
  28. Offline

    ksevelyar

    Could you explain what you do to fix this issue, please? Same problem.
     
  29. Offline

    drdanick

    Yeah, that is definitely a problem with the server. Tell me if you get it fixed!

    All the major versions are documented in posts. (minor ones are not, and only contain very minor bugfixes. I have mentioned this before, but I have completely run out of space to post in the first post. I am working on a wiki page that will hold version history.

    Very odd, that means the server isn't closing correctly, yet Java lets it get past the blocking IO. How much does it get spammed when it happens, i.e, how many messages per minute and for how long?

    Have never used tungle. I'd imagine it would if you ran UDP port 25561 (or whatever you set the remote port for the wrapper to) through it.
     
  30. Offline

    blackmist

    I tried port 25561 and 25565 (just to try), but nothing happened. Sorry if I was unclear, I was referring to the remote controlling via web browser.
     
  31. Offline

    drdanick

    Yes, that's what I was referring to. Again, i'm not quite sure how tunngle works. If it works for your minecraft server, setting it up again for use with that UDP port should work. This might be a question best suited for their forums.

    Edit: Ah, well if it is a VPN service, then it probably would not work, unless you manually opened UDP port 25561 external to the VPN connection
     
Thread Status:
Not open for further replies.

Share This Page