Normalmente, você usaria um serviço para ser executado como um usuário específico em um determinado momento durante a inicialização.
Acho que a solução ideal para "Como executar um servidor Minecraft no login" é criar um novo usuário, minecraft , e garantir que seu servidor HTTP ( apache ou nginx ) tenha acesso a esses arquivos gerados por overviewer . Quando você executa overviewer , deseja fazer isso como o usuário minecraft .
O seguinte assume que /home/minecraft/minecraft-1.7/ é o diretório que contém os arquivos do servidor de minecraft, como o diretório world , e que, dentro desse diretório, você tem minecraft_server.jar. Além disso, nginx é usado para atuar como um servidor HTTP.
Você pode criar esse usuário com sudo useradd minecraft -m . Por não definir uma senha, você só poderá se tornar esse usuário com sudo su - minecraft .
O usuário minecraft teria a seguinte entrada cron ( crontab -e as minecraft ):
0 * * * * /usr/bin/overviewer.py --rendermodes=smooth-lighting,cave /home/minecraft/minecraft-1.7/world/ /home/minecraft/minecraft-1.7/www-overviewer/
O ideal é que você execute o servidor Minecraft usando o upstart ( /etc/systemd/system/minecraft-server.service ):
[Unit]
Description=Minecraft Server
[Service]
WorkingDirectory=/home/minecraft/minecraft-1.7/
User=minecraft
Group=minecraft
Restart=on-failure
RestartSec=20 5
ExecStart=/usr/bin/java -Xms1536M -Xmx1536M -jar minecraft_server.jar nogui
[Install]
WantedBy=multi-user.target
Habilite-o para iniciar na inicialização com sudo systemctl enable minecraft-server e diga para começar agora com sudo systemctl start minecraft-server .
... enquanto configura o NGINX com:
server {
listen 8888;
client_max_body_size 50M;
server_name _ minecraft.DOMAIN.tld
charset UTF-8;
expires max;
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 4;
gzip_http_version 1.0;
gzip_min_length 1280;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js;
gzip_vary on;
gzip_static on;
add_header Cache-Control "public";
location / {
root /home/minecraft/minecraft-1.7/www-overviewer;
}
}
Não existe nenhuma razão para executar minecraft , overviewer , etc como root e deve ser evitado.