Raspberry Pi 使用 python 脚本启动 minecraft 服务器 jar 文件

Raspberry Pi using a python script to launch minecraft server jar file

我一直在研究如何从 raspberry pi 运行 一个 minecraft 服务器,所以我终于设置好了!

所以我心想,我可以更进一步...所以我一直在努力制作一个 python 脚本,只要按下按钮 IRL,该脚本就会 运行 服务器。它工作得很好,直到它说:

An exception occurred processing Appender File org.apache.logging.log4j.core.appender.AppenderLoggingException
Error writing to RandomAccessFile logs/latest.log

我的代码如下:

import RPi.GPIO as GPIO
import os
import time

GPIO.setmode(GPIO.BOARD)

GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

try:
while True:
    #Test to see if the button has been pressed
    if (GPIO.input(11) == 1):
        print ("Downloading Server to clear corruption...")
        #download specified version
        os.system("wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8.1/minecraft_server.1.8.1.jar")
        print ("Moving file...")
        os.system("mv /home/pi/minecraft_server.1.8.1.jar /home/pi/Server/server.jar")
        print ("Finished")
        print ("Starting Server")
        #start server
        os.system("java -Xms1024M -Xms1024M -jar /home/pi/Server/server.jar nogui")
        print ("Server Stopped!")
        time.sleep(2)

except KeyboardInterrupt:
    GPIO.cleanup()

当我运行服务器为

cd Server
java -Xms1024M -Xms1024M -jar server.jar nogui

完美运行!

我认为问题是当我运行 python 脚本时,它没有足够的权限,所以它不能编辑文件。

我启动脚本为

sudo python controller.py

我的问题是;有没有办法使 python 脚本 运行 成为具有超级用户权限的终端命令?

要回答问题底部所述的问题,您可以通过在命令本身前添加 sudo 使 Python 脚本 运行 成为终端命令。

 os.system("sudo java -Xms1024M -Xms1024M -jar /home/pi/Server/server.jar nogui")