얼마 전 라즈베리파이 4B 8Gb를 구매하고 SATA 확장보드를 이용하여 PLEX 미디어 서버 설정에 성공했습니다. 내 지식을 넓히려는 노력의 일환으로, 조카들이 나를 멋진 삼촌이라고 생각할 것이기 때문에 개인 Minecraft 서버를 추가하여 재미있게 놀 수 있는지 알아보기로 결정했습니다.
내가 완료한 단계
- Java가 전체 버스 폭(64비트 대 32비트)을 활용할 수 있도록 Raspberry PiOS를 Ubuntu Server 21.04로 대체했습니다.
- 설치됨Liberica용 Java 16 JDK마인크래프트를 준비하세요.
- LEMP 서버를 설정하여(Apache를 NGINX로 교체) LAN이 올바르게 설정되었는지 확인하세요.
- 그것을 발견소나무 공예 설치 프로그램, 이러한 단계를 자동화할 수 있습니다.
- 설치 프로그램 스크립트는 다음 주의 사항에 따라 성공적으로 완료됩니다.
지침
- 설치 프로그램은 초기화 파일을 생성합니다. 우분투는 systemd를 사용합니다
- 서버가 실행되는 방식에 가
$user
필요$password
하거나 사용하는 경우sudo
매번 이 작업을 수행하고 싶지 않습니다.
도움이 필요해요
.service
파일을 다음에서 옮겼습니다 .Systemd를 사용하여 Minecraft 서버 설정, 다음과 같이 바꾸세요.
[Unit]
Description=Minecraft Server Pinecraft SysV init script conversion attempt
Documentation=https://github.com/Cat5TV/pinecraft
Wants=network.target
After=network.target
[Service]
User=minecraft
Group=minecraft
Nice=5
KillMode=none
SuccessExitStatus=0 1
#ProtectHome=true
ProtectSystem=full
PrivateDevices=true
NoNewPrivileges=true
PrivateTmp=true
InaccessiblePaths=/root /sys /srv -/opt /media -/lost+found
ReadWritePaths=/home/minecraft
WorkingDirectory=/home/minecraft
ExecStartPre=/usr/bin/screen -dmS PineCraft
ExecStart=/bin/bash /home/minecraft/server.sh
ExecStop=/bin/bash /home/minecraft/stop.sh
Restart=/bin/bash /home/minecraft/reboot.sh
[Install]
WantedBy=multi-user.target
- 스크립트 결과를 화면에 "전달"하는 방법을 모르겠습니다.
- 서비스 상태가 "활동 로드 중/종료 중"이므로 화면이 항상 비어 있을 수 있습니다.
server.sh
스크립트가 완료되었지만 로드/실행 상태가 유지되지 않았다고 가정합니다 . - 스크립트 외부에서 aiker 매개변수를 사용하여 Java 라인을 실행하면 서버가 오류 없이 시작됩니다.
Create the Scripts
약 3/4 구간을 참조하세요 .설치 스크립트. .service
패키지/패키지 관리자에서 파일 하나만 설치했습니다 . 나는 한 번도 글을 쓸 필요가 없었습니다.
고쳐 쓰다
부분적인 해결책: 이 설정에서는 다음 크론 작업을 사용합니다.
crontab -u ubuntu -l
@reboot /usr/bin/screen -dmS Pinecraft /home/ubuntu/minecraft/server > /dev/null 2>&1
server
테스트 서비스 이름을 바꾸기 전의 쉘 스크립트 이름입니다. 분명히 새로 설치하면 cron이 기본적으로 실행되지 않으며 systemctl | grep cron
아무것도 반환하지 않습니다. 간단한 sudo systemctl enable cron && sudo systemctl start cron
문제가 해결되었습니다.
기본 시스템 서비스로 변환하고 싶기 때문에 계속 열어두고 있습니다.