0

I'm running a minecraft server inside a screen session. I want to send a command to that screen session and get the command result back (and print it back). Can I do that without using the screen -L option?

Demonstration inside of a bash script (obviously wrong!):

result=$(screen -S "minecraft-server" -p 0 -X stuff "list"`echo -ne '\015'`)
printf "$result\n"
0

One way is to use the logs. Everything printed to screen is also printed to log:

My minecraft server is located at /home/minecraft, and runs as the 'minecraft' user (not me).

  1. Send message:

    screen -p 0 -S minecraft-server -X eval 'stuff "say TEST MESSAGE..."\\015'

  2. Read the output several ways:

    • tail /home/minecraft/logs/latest.log

    • less /home/minecraft/logs/latest.log plus CTRL+G to advance to the end

    • less /home/minecraft/logs/latest.log plus CTRL+F to keep monitoring new output as it arrives.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.