服务器
服务器页面就是服务器的控制台。读完这一页,你就能启动和停止服务器、查看它的输出、向它发送命令、让它在崩溃后自动重启,并且知道退出 lip 时服务器会怎样。
如果你还不熟悉按键和屏幕上的各个部分,请先读界面导览。
页面的组成
- 状态行说明服务器是否在运行。它下面是启动或停止按钮,以及自动重启选项。
- 输出区是服务器输出的内容。
- 输入行用来输入发给服务器的命令。只有服务器运行时才有这一行。
Tab 依次在各部分之间移动:按钮和选项、输出区、输入行。
服务器的每种状态
状态行显示的总是下面几种之一。
这里还没有服务器
没有游戏的文件夹里没有东西可运行。页面只有一个按钮。
按 Enter 创建服务器。这会启动工作区页面的新建服务器向导。
未运行
○ 未运行表示服务器没有运行,并且自 lip 启动以来没有运行过。输出区是空的。
在启动上按 Enter 启动服务器。
运行中
按下“启动”后,在服务器的程序真正跑起来之前,状态是 ● 正在启动。通常只是一瞬间。lip 第一次需要为服务器准备系统时会久一些,例如 Windows 上的 Visual C++ 运行库,或者 Linux 和 macOS 上的 Wine。如果这一步失败,lip 会显示失败原因,状态回到 ○ 未运行。
之后状态变成 ● 运行中。从服务器的程序跑起来的那一刻起就算运行中,哪怕它还在加载世界和模组。
● 运行中,后面是服务器已经运行的时间(时:分:秒)。- 按钮变成了停止。
- 两端带横线的灰色行是 lip 自己写的,不是服务器的输出。
- 输入行出现,焦点移到这里。
lip 的顶部一行也会显示 ● 运行中,侧边栏的“服务器”后面多了一个 ●。你可以去别的页面,服务器会继续运行。
服务器在输出里写出 Server started. 时,玩家就可以进入了。
INFO
如果服务器根本启动不了(比如缺少游戏文件),lip 会显示出错对话框,状态保持“未运行”。参见出错的时候。
正在停止
让服务器停止之后,在它真正结束之前,状态是 ● 正在停止。服务器通常需要几秒钟保存世界。
- lip 已请服务器停止,正在等它结束。
- lip 向服务器发送了
stop命令。
这期间“停止”按钮是灰色的:再按一次也不会有更多效果。
已退出,带退出码
服务器结束后,状态是 ○ 已退出,退出码加一个数字。退出码 0 表示正常结束,其他数字表示出了问题。
- 服务器已不在运行。
- 启动可以再次启动它。
- 输出会保留,可以查看服务器为什么结束。
正在重启
如果服务器以非 0 的退出码结束,不是你让它停的,并且自动重启已打开,lip 会在 5 秒后重新启动它。这期间状态是 ● 正在重启,后面是服务器结束时的退出码。
- lip 等待片刻,然后重新启动服务器。
- 服务器是怎样结束的。
- 自动重启已打开。
在 lip 等待期间按 Ctrl+C 或停止,服务器就不会被重新启动。
在此界面之外运行
服务器也可以在另一个终端里用普通的 lip run 命令启动。这时 lip 只知道服务器在运行,别的一概不知。
- 服务器在运行,但不是这个界面启动的。
- 启动在这里不起作用,也没有“停止”。
- 请到启动它的地方去停止它。
这里没有输出区,也没有输入行,因为它们属于启动服务器的那个终端。其他和“服务器正在运行”有关的规则照样生效:在它停止之前不能改动模组。
启动和停止
要启动服务器,在启动上按 Enter。主页的第 3 步做的是同一件事。
要停止服务器,有两种办法:
- 在服务器页面的任何位置按
Ctrl+C;或者 - 按
Tab直到停止高亮,再按Enter。
两者都是向服务器发送 stop 命令,让它保存世界后自己结束。lip 从不强行杀掉服务器。
WARNING
在其他页面上,Ctrl+C 是询问是否退出 lip。只有在服务器页面上、并且服务器正在运行时,它才是停止服务器。
查看输出
焦点在输入行时,输出区会跟着服务器走:新的内容出现在底部。
想往回看,在输入行按 Esc。焦点移到输出区,它的标题变成亮色。
- 焦点在输出区。
▲和▼表示上方和下方还有内容。- 用来滚动的按键。
| 按键 | 作用 |
|---|---|
↑ ↓ | 滚动一行。 |
PgUp PgDn | 滚动一屏。 |
Home | 跳到第一行。 |
End | 回到最后一行。 |
往回看的时候,即使服务器又输出了新内容,你正在看的那些行也不会移动。
要回到输入行,按 End 再按 ↓,或者按 Tab。
向服务器发送命令
在输入行输入服务器的命令,按 Enter 发送。空输入行里灰色的 list 只是示例,不会被发送。
服务器的回应会出现在输出区。
lip 会记住你发送过的内容。在输入行按 ↑ 调出上一条,按 ↓ 往后翻。正在输入的内容不会丢:按 ↓ 翻过最后一条时,它会回来。
这里输入的是 Minecraft 服务器的命令,比如 list 或 say,不是 lip 的命令。
离开输入行
焦点在输入行时,你输入的字母都会发给服务器,所以要靠 Esc 离开:
- 按
Esc,从输入行到输出区。 - 再按
Esc,到侧边栏。
Tab 也能离开输入行,直接到侧边栏。
自动重启
自动重启决定服务器崩溃后 lip 是否重新启动它。按 → 从按钮移到这个选项,它右边会出现一句说明。按 Space 切换。
选项打开时:
- 服务器以非
0的退出码结束,5 秒后会被重新启动。 - 你主动停止的服务器,或者以退出码
0结束的服务器,不会被重新启动。 - 10 分钟内重启满 5 次之后,lip 不再重启,并在输出区里说明。这时请往上翻看输出,找出服务器反复失败的原因。
这个选项属于工作区,所以每个服务器各有各的设置。设置页面上显示的是同一个选项。
服务器运行时退出
服务器运行时退出 lip,询问里会说明服务器会怎样。
通常服务器会继续运行。lip 把服务器交给自己的后台程序(守护进程)来运行,界面关闭后它还在。你可以关掉终端。想回来时,在同一个文件夹打开终端并运行 lip:服务器页面会显示这个服务器和它最近的输出,你可以像之前一样输入命令、停止它。
只有一种少见的情况例外:lip 用不了守护进程、一切都由它自己运行时,询问里写的是另一句话:
这时如果选退出,lip 会请每个运行中的服务器停止,在它们结束的过程中显示服务器页面,等全部结束后再退出。
托管服务器
在这个页面上启动的服务器是托管服务器:它由 lip 的守护进程运行,不属于任何一个终端。所以退出 lip 后它还在运行,多个终端可以同时看到同一个服务器,每个工作区也可以同时各运行一个服务器。lip run --managed 命令启动和显示的是同一批服务器。用命令运行服务器对此有详细说明,也讲了不用界面时如何停止它。