
얼마 전 저는 Raspberry Pi 4B 8Gb를 구입하고 SATA 확장 보드를 사용하여 PLEX 미디어 서버를 성공적으로 설정했습니다. 지식을 확장하려는 노력의 일환으로 재미를 위해 개인 Minecraft 서버를 추가할 수 있는지 알아보기로 결정했습니다. 그리고 내 조카들이 나를 멋진 삼촌이라고 생각할 것이기 때문이다.
내가 완료한 단계
- Java가 전체 버스 폭(64비트 대 32비트)을 활용할 수 있도록 Ubuntu Server 21.04용 Raspberry PiOS를 교체했습니다.
- 설치됨Liberica의 Java 16 JDK마인크래프트를 준비 중입니다.
- LEMP 서버(Apache를 NGINX로 대체)를 설정하여 LAN이 제대로 설정되었는지 확인하세요.
- 찾았다파인크래프트 설치 프로그램, 그래서 단계를 자동화할 수 있었습니다.
- 다음 주의 사항과 함께 설치 프로그램 스크립트가 성공적으로 완료되었습니다.
주의사항
- 설치 프로그램은 init 파일을 생성합니다. 우분투는 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
- 스크립트 결과를 화면에 "전달"하는 방법을 알 수 없습니다.
- 서비스 상태가 "Active Loaded/exit"로 표시되므로 화면이 항상 비어 있을 수 있습니다. 스크립트가 완료되었다고 가정
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
테스트 서비스를 위해 이름을 바꾸기 전의 쉘 스크립트 이름입니다. Aparantly 새로 설치하면 cron이 기본적으로 실행되지 않고 systemctl | grep cron
아무것도 반환하지 않습니다. 간단하게 sudo systemctl enable cron && sudo systemctl start cron
문제가 해결되었습니다.
이것을 기본 시스템 서비스로 변환하고 싶기 때문에 아직 열어 두겠습니다.