전환에 도움을 주세요

전환에 도움을 주세요

얼마 전 저는 Raspberry Pi 4B 8Gb를 구입하고 SATA 확장 보드를 사용하여 PLEX 미디어 서버를 성공적으로 설정했습니다. 지식을 확장하려는 노력의 일환으로 재미를 위해 개인 Minecraft 서버를 추가할 수 있는지 알아보기로 결정했습니다. 그리고 내 조카들이 나를 멋진 삼촌이라고 생각할 것이기 때문이다.

내가 완료한 단계

  1. Java가 전체 버스 폭(64비트 대 32비트)을 활용할 수 있도록 Ubuntu Server 21.04용 Raspberry PiOS를 교체했습니다.
  2. 설치됨Liberica의 Java 16 JDK마인크래프트를 준비 중입니다.
  3. LEMP 서버(Apache를 NGINX로 대체)를 설정하여 LAN이 제대로 설정되었는지 확인하세요.
  4. 찾았다파인크래프트 설치 프로그램, 그래서 단계를 자동화할 수 있었습니다.
  5. 다음 주의 사항과 함께 설치 프로그램 스크립트가 성공적으로 완료되었습니다.

주의사항

  • 설치 프로그램은 init 파일을 생성합니다. 우분투는 systemd를 사용합니다
  • 서버는 매번 수행하고 싶지 않은 , 또는 의 사용이 $user필요한 방식 으로 실행됩니다.$passwordsudo

도움이 필요해요

.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
  1. 스크립트 결과를 화면에 "전달"하는 방법을 알 수 없습니다.
  2. 서비스 상태가 "Active Loaded/exit"로 표시되므로 화면이 항상 비어 있을 수 있습니다. 스크립트가 완료되었다고 가정 server.sh하지만 로드/실행이 유지되지 않습니다.
  3. 스크립트 외부에서 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문제가 해결되었습니다.

이것을 기본 시스템 서비스로 변환하고 싶기 때문에 아직 열어 두겠습니다.

관련 정보