我的VPS上有一个游戏服务器,但我有一个很大的问题。当它重新启动时(由于技术原因或某些原因),游戏服务器不会自动启动。我使用这个脚本,它位于/ home / steam / csgo-ds:
#!/bin/sh
ln -s /home/steam/csgo-ds/csgo/*.dem /var/www/html/
ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
cd /home/steam/csgo-ds
chmod 777 * -R
screen -S "CS:GO Server" ./srcds_run -game csgo -usercon +game_type 0 +game_mode 0 -tickrate 64 -maxplayers 24 -maxplayers_override 24 +ip 188.116.46.148 -port 27015 +sv_setsteamaccount "XXXXX" -exec server.cfg +tv_enable 1 +tv_maxclients 0 +tv_port 27020 +tv_advertise_watchable 0 +map jb_dust2_final2
我已经尝试将它添加到crontab,启动文件等等,并且没有任何效果。 VPS上的操作系统是Ubuntu Server 64位14.04升级到16.04
答案 0 :(得分:0)
有不同的方法可以做到这一点,最简单的方法是将5行代码放入:
/etc/rc.local
它将在每个操作系统启动时自动执行 你应该把你的代码行放在这一行:
exit 0
答案 1 :(得分:0)
Ubuntu 16.04使用systemd作为init系统,请按照以下步骤操作:
chmod 744 /path/to/script
现在创建一个单元文件:
vim /etc/systemd/system/csgo.service
[Unit]
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/path/to/script
[Install]
WantedBy=default.target
设置权限:
chmod 664 /etc/systemd/system/csgo.service
重新加载并启用该服务:
systemctl daemon-reload
systemctl enable csgo.service
现在重新启动并测试它。