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

时间:2015-03-02 21:08:58

标签: python raspberry-pi server minecraft

我一直在研究如何从树莓派中运行一个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脚本以超级用户的力量运行终端命令?

1 个答案:

答案 0 :(得分:2)

要回答问题底部的陈述问题,您可以通过将sudo添加到命令本身来使Python脚本运行终端命令。

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