小编Ril*_*ley的帖子

我应该如何设置 systemd 服务来自动启动服务器并让我向其传递命令?

目标:

\n

我正在尝试让 Minecraft 服务器在 Fedora 上使用 systemd 在计算机启动时运行。我有一些自我强加的标准,我需要满足这些标准才能正确管理我的服务器:

\n
    \n
  1. 它必须以minecraft我使用主目录创建的系统用户身份运行/opt/minecraft。我尝试通过addusering 然后添加行User=minecraftWorkingDirectory=/opt/minecraft/
  2. \n
  3. 它必须是可扩展的并且可以与任意数量的服务器一起工作。我尝试使用模板服务,然后将行更改WorkingDirectoryWorkingDirectory=/opt/minecraft/%i让我传入目录。
  4. \n
  5. 我必须能够以某种方式将命令传递给它。这就是我所坚持的。我尝试过使用插座单元,然后将其连接到/run/minecraft%I,但我无法让它工作。如果您不熟悉 Minecraft 服务器,他们有一个交互式控制台,您可以将命令传递到其中。过去,我使用过在会话tmux send中运行的服务器tmux,但问题是它不会自动启动并且感觉不优雅。
  6. \n
\n

尝试的解决方案:

\n

/usr/local/lib/systemd/system/minecraft@.service:

\n
[Unit]\nDescription=Minecraft server: %i\n\n# only run after networking is ready\nAfter=network-online.target\nWants=network-online.target\n\n[Service]\nType=simple\n\n# restart if the server crashes\nRestart=on-failure\nRestartSec=5s\n\n# set the input and outputs to a socket unit and the journal resp.\nSockets=minecraft@%i.socket\nStandardInput=socket                     \nStandardOutput=journal\nStandardError=journal\n\n# set the user and directory to …
Run Code Online (Sandbox Code Playgroud)

fedora systemd fifo minecraft

5
推荐指数
1
解决办法
1438
查看次数

标签 统计

fedora ×1

fifo ×1

minecraft ×1

systemd ×1