screen -dmS mc command
starts a screen, which lives only till <command> completes,
e.g. whenever java quits - screen is also terminated.
Start screen like this instead:
screen -dmS mc bash
screen -s mc -X eval 'stuff "java -Xincgc -Xms1024M -jar craftbukkit-1.6.4-b2882.jar\015"'
and restart correspondingly too:
screen -s mc -X eval 'stuff "cd /minecraft/server/craftbukkit\015"'
screen -s mc -X eval 'stuff "./start.sh\015"'
Hope this helps :)
I don't have java/minecraft here, so I'll use "read" tool as a sample:
screen -dmS mc bash # starts screen&bash
screen -s mc -X eval 'stuff "read\015"' # tells bash to start "read"
screen -s mc -X eval 'stuff "test\015"' # tells read the input "test"
screen -s mc -X eval 'stuff "echo \$REPLY\015"' # tells bash to echo the $REPLY var
screen -s mc -X eval 'stuff "cd /tmp\015"' # tells bash to cd into /tmp
As You see - stuff sends the input not into the bash but just generally - into the screen, e.g. into whatever application started under bash and currently reading the stdin.