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")
我一直在研究如何从 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")