跳到正文
本页目录

服务器

服务器页面就是服务器的控制台。读完这一页,你就能启动和停止服务器、查看它的输出、向它发送命令、让它在崩溃后自动重启,并且知道退出 lip 时服务器会怎样。

如果你还不熟悉按键和屏幕上的各个部分,请先读界面导览。

页面的组成

服务器运行期间的服务器页面。编号标出状态行、输出区和输入行。

  1. 状态行说明服务器是否在运行。它下面是启动或停止按钮,以及自动重启选项。
  2. 输出区是服务器输出的内容。
  3. 输入行用来输入发给服务器的命令。只有服务器运行时才有这一行。

Tab 依次在各部分之间移动:按钮和选项、输出区、输入行。

服务器的每种状态

状态行显示的总是下面几种之一。

这里还没有服务器

没有游戏的文件夹里没有东西可运行。页面只有一个按钮。

空文件夹的服务器页面。写着“这里还没有服务器。”,有一个“新建服务器…”按钮。

按 Enter 创建服务器。这会启动工作区页面的新建服务器向导。

未运行

○ 未运行表示服务器没有运行,并且自 lip 启动以来没有运行过。输出区是空的。

未运行的服务器的服务器页面。“启动”按钮处于高亮,输出区写着“还没有输出。”

在启动上按 Enter 启动服务器。

运行中

按下“启动”后,在服务器的程序真正跑起来之前,状态是 ● 正在启动。通常只是一瞬间。lip 第一次需要为服务器准备系统时会久一些,例如 Windows 上的 Visual C++ 运行库,或者 Linux 和 macOS 上的 Wine。如果这一步失败,lip 会显示失败原因,状态回到 ○ 未运行。

之后状态变成 ● 运行中。从服务器的程序跑起来的那一刻起就算运行中,哪怕它还在加载世界和模组。

刚按下“启动”的服务器页面。状态是“运行中 · 00:00:01”,按钮变成“停止”,输出区有一行灰色文字,输入行出现了。

  1. ● 运行中,后面是服务器已经运行的时间(时:分:秒)。
  2. 按钮变成了停止。
  3. 两端带横线的灰色行是 lip 自己写的,不是服务器的输出。
  4. 输入行出现,焦点移到这里。

lip 的顶部一行也会显示 ● 运行中,侧边栏的“服务器”后面多了一个 ●。你可以去别的页面,服务器会继续运行。

服务器在输出里写出 Server started. 时,玩家就可以进入了。

INFO

如果服务器根本启动不了(比如缺少游戏文件),lip 会显示出错对话框,状态保持“未运行”。参见出错的时候。

正在停止

让服务器停止之后,在它真正结束之前,状态是 ● 正在停止。服务器通常需要几秒钟保存世界。

按下 Ctrl+C 之后的服务器页面。状态是“正在停止”,输出区有一行灰色的“asking the server to stop”。

  1. lip 已请服务器停止,正在等它结束。
  2. lip 向服务器发送了 stop 命令。

这期间“停止”按钮是灰色的:再按一次也不会有更多效果。

已退出,带退出码

服务器结束后,状态是 ○ 已退出,退出码加一个数字。退出码 0 表示正常结束,其他数字表示出了问题。

已结束的服务器的服务器页面。状态是“已退出,退出码 0”,按钮又变回“启动”,输出还在。

  1. 服务器已不在运行。
  2. 启动可以再次启动它。
  3. 输出会保留,可以查看服务器为什么结束。

正在重启

如果服务器以非 0 的退出码结束,不是你让它停的,并且自动重启已打开,lip 会在 5 秒后重新启动它。这期间状态是 ● 正在重启,后面是服务器结束时的退出码。

崩溃之后的服务器页面。状态是“正在重启 · 已退出,退出码 -1073741819”,自动重启已勾选,lip 用一行黄色文字说明 5 秒后重新启动服务器。

  1. lip 等待片刻,然后重新启动服务器。
  2. 服务器是怎样结束的。
  3. 自动重启已打开。

在 lip 等待期间按 Ctrl+C 或停止,服务器就不会被重新启动。

在此界面之外运行

服务器也可以在另一个终端里用普通的 lip run 命令启动。这时 lip 只知道服务器在运行,别的一概不知。

服务器页面写着“在此界面之外运行”。按钮下方有一行“它由另一个 lip run 启动,请在那里停止。”

  1. 服务器在运行,但不是这个界面启动的。
  2. 启动在这里不起作用,也没有“停止”。
  3. 请到启动它的地方去停止它。

这里没有输出区,也没有输入行,因为它们属于启动服务器的那个终端。其他和“服务器正在运行”有关的规则照样生效:在它停止之前不能改动模组。

启动和停止

要启动服务器,在启动上按 Enter。主页的第 3 步做的是同一件事。

要停止服务器,有两种办法:

  • 在服务器页面的任何位置按 Ctrl+C;或者
  • 按 Tab 直到停止高亮,再按 Enter。

两者都是向服务器发送 stop 命令,让它保存世界后自己结束。lip 从不强行杀掉服务器。

WARNING

在其他页面上,Ctrl+C 是询问是否退出 lip。只有在服务器页面上、并且服务器正在运行时,它才是停止服务器。

查看输出

焦点在输入行时,输出区会跟着服务器走:新的内容出现在底部。

想往回看,在输入行按 Esc。焦点移到输出区,它的标题变成亮色。

输出区拥有焦点,并且已向上滚动。右边缘的标记表示上下还有内容。

  1. 焦点在输出区。
  2. ▲ 和 ▼ 表示上方和下方还有内容。
  3. 用来滚动的按键。
按键作用
↑ ↓滚动一行。
PgUp PgDn滚动一屏。
Home跳到第一行。
End回到最后一行。

往回看的时候,即使服务器又输出了新内容,你正在看的那些行也不会移动。

要回到输入行,按 End 再按 ↓,或者按 Tab。

向服务器发送命令

在输入行输入服务器的命令,按 Enter 发送。空输入行里灰色的 list 只是示例,不会被发送。

输入行里是“say Welcome to Survival”。

服务器的回应会出现在输出区。

lip 会记住你发送过的内容。在输入行按 ↑ 调出上一条,按 ↓ 往后翻。正在输入的内容不会丢:按 ↓ 翻过最后一条时,它会回来。

输入行显示用上方向键调出的“list”。底部一行列出“↑↓ 历史”。

这里输入的是 Minecraft 服务器的命令,比如 list 或 say,不是 lip 的命令。

离开输入行

焦点在输入行时,你输入的字母都会发给服务器,所以要靠 Esc 离开:

  1. 按 Esc,从输入行到输出区。
  2. 再按 Esc,到侧边栏。

Tab 也能离开输入行,直接到侧边栏。

自动重启

自动重启决定服务器崩溃后 lip 是否重新启动它。按 → 从按钮移到这个选项,它右边会出现一句说明。按 Space 切换。

“自动重启”选项已勾选并处于高亮。右边是一句“崩溃后重新启动。”

选项打开时:

  • 服务器以非 0 的退出码结束,5 秒后会被重新启动。
  • 你主动停止的服务器,或者以退出码 0 结束的服务器,不会被重新启动。
  • 10 分钟内重启满 5 次之后,lip 不再重启,并在输出区里说明。这时请往上翻看输出,找出服务器反复失败的原因。

这个选项属于工作区,所以每个服务器各有各的设置。设置页面上显示的是同一个选项。

服务器运行时退出

服务器运行时退出 lip,询问里会说明服务器会怎样。

询问“要退出 lip 吗?”,第二行是“运行中的服务器会继续运行。”

通常服务器会继续运行。lip 把服务器交给自己的后台程序(守护进程)来运行,界面关闭后它还在。你可以关掉终端。想回来时,在同一个文件夹打开终端并运行 lip:服务器页面会显示这个服务器和它最近的输出,你可以像之前一样输入命令、停止它。

只有一种少见的情况例外:lip 用不了守护进程、一切都由它自己运行时,询问里写的是另一句话:

询问“要退出 lip 吗?”,第二行是“运行中的服务器会先停止。”

这时如果选退出,lip 会请每个运行中的服务器停止,在它们结束的过程中显示服务器页面,等全部结束后再退出。

托管服务器

在这个页面上启动的服务器是托管服务器:它由 lip 的守护进程运行,不属于任何一个终端。所以退出 lip 后它还在运行,多个终端可以同时看到同一个服务器,每个工作区也可以同时各运行一个服务器。lip run --managed 命令启动和显示的是同一批服务器。用命令运行服务器对此有详细说明,也讲了不用界面时如何停止它。