I'm trying to run a minecraft server on my unRAID server.The server will run in the shell, and then sit there waiting for input. To stop it, I need to type 'stop' and press enter, and then it'll save the world and gracefully exit, and I'm back in the shell. That all works if I run it via telnetting into the NAS box, but I want to run it directly on the box. this is what I previously had as a first attempt:#define USER_SCRIPT_LABEL Start Minecraft server#define USER_SCRIPT_DESCR Start minecraft server. needs sde2 mounted firstcd /mnt/disk/sde2/MCunraidscreen -d -m -S minecraft /usr/lib/java/bin/java -Xincgc -Xmx1024M -jar CraftBukkit.jarMCunraid is the folder where I have the Craftbukkit.jar and all the world files etc. If I type that screen line in directly, the screen does setup detached and the server launches. If I execute that line from within the script it doesn't seem to set up a screenfor stopping the server, I need to 'type' in STOP and then press enter. My approach wasscreen -S minecraft -X stuff stop $(echo -ne '\r')to send to screen 'minecraft' the text s-t-o-p and a carriage return. But that doesn't work, even if I type it directly onto the command line. But if I 'screen -r' I can get to the screen with the server running, then type 'stop' and it shuts down properly.any guidance here? As far as I can tell (linux noob), the command formatting is ok, but the screen doesn't seem to be hearing me. The server runs well if I telnet in and do it manually, just need to run it without being connected from my remote computer.
sending text input to a detached screen
linux;gnu screen
I can solve at least part of the problem: why the stop part isn't working. Experimentally, when you start a Screen session in detached mode (screen -d -m), no window is selected, so input later sent with screen -X stuff is just lost. You need to explicitly specify that you want to send the keystrokes to window 0 (-p 0). This is a good idea anyway, in case you happen to create other windows in that Screen session for whatever reason.screen -S minecraft -p 0 -X stuff stop^M(Screen translate ^M to control-M which is the character sent by the Enter key.)The problem with starting the session from a script is likely related to unMENU.