Por favor, ajude com a conversão

Por favor, ajude com a conversão

Não faz muito tempo, comprei um Raspberry Pi 4B 8Gb e configurei com sucesso o PLEX Media Server, usando uma placa de expansão SATA. Em um esforço para expandir meu próprio conhecimento, decidi ver se poderia adicionar um servidor Minecraft privado para me divertir. disso, e porque minha sobrinha e meu sobrinho vão pensar que sou um tio legal.

Etapas que concluí

  1. Troquei o Raspberry PiOS pelo Ubuntu Server 21.04 para que o Java possa aproveitar toda a largura do barramento (64 bits versus 32 bits).
  2. InstaladoJava 16 JDK da Libériaem preparação para o Minecraft.
  3. Configure um servidor LEMP (substituído Apache por NGINX) para garantir que a LAN esteja configurada corretamente.
  4. Encontrei oInstalador PineCraft, para que eu pudesse automatizar as etapas.
  5. O script do instalador foi concluído com êxito, com as seguintes advertências.

Ressalvas

  • O instalador cria arquivos init. Ubuntu usa systemd
  • O servidor é executado como $usero que requer um $password, ou o uso de sudo, o que não quero fazer sempre

Preciso de ajuda aqui

Peguei o .servicearquivo deConfigurando um servidor Minecraft usando Systemd, e transformei isso nisso:

[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. Não consigo descobrir como "passar" o resultado do script para a tela.
  2. A tela pode estar sempre vazia, pois o status do serviço mostra "Ativo carregado/saída". Presumo que o server.shscript foi concluído, mas não permanece carregado/em execução
  3. Se eu executar a linha java com argumentos aiker fora do script, o servidor iniciará sem erros

Veja a Create the Scriptsseção, cerca de 3/4 da descida doinstalar script. Eu só instalei um .servicearquivo de um gerenciador de pacotes/pacotes. Nunca tive que escrever um.

Atualizar

Parcialmente Resolvido: esta configuração usa o seguinte cron job:

crontab -u ubuntu -l

@reboot /usr/bin/screen -dmS Pinecraft /home/ubuntu/minecraft/server > /dev/null 2>&1

serveré o nome do script de shell antes de renomeá-lo para meu serviço de teste. Aparentemente, em uma nova instalação, o cron não é executado por padrão e systemctl | grep cronnão retorna nada. Um simples sudo systemctl enable cron && sudo systemctl start cronresolveu o problema.

Ainda estou deixando isso aberto, pois gostaria de convertê-lo em um serviço nativo do systemd

informação relacionada