【发布时间】:2021-01-05 19:58:55
【问题描述】:
我已经使用本指南安装、配置并启动了我的第一个 minecraft 服务器:https://www.minecraft.net/en-us/download/server
还有几个问题:
- 如何访问服务器控制台?
- 是否可以从外部程序与服务器控制台交互?在 javascript ( 节点 ) 甚至 java 上运行?如果是这样,你能给我一些有用的资源来阅读吗?
【问题讨论】:
我已经使用本指南安装、配置并启动了我的第一个 minecraft 服务器:https://www.minecraft.net/en-us/download/server
还有几个问题:
【问题讨论】:
server.jar 文件旨在通过命令行或脚本(通常会打开命令提示符)启动。
因此,为了访问控制台,您应该使用所需的参数从 cmdline 启动它。最小值是:“java -jar server.jar”,尽管在大多数情况下指定最小内存大小和最大内存大小是非常理想的。
至于与外部程序交互,有很多方法。首先想到的是编写一个 Spigot 插件(这是当今大多数 Minecraft 服务器的基础),它允许您与服务器交互。 另一种方法是在服务器进程和“外部程序”进程之间建立一个管道(如果使用 Linux)。 您还可以使用某些语言功能(例如 C 中的 exec)直接从其他程序启动服务器。
在 unix 中有一个名为“screen”的工具可能会对您有所帮助。它在 Minecraft 服务器社区中被广泛使用,以保持服务器在后台运行。
【讨论】:
screen 工具。我会尝试您提供的解决方案,如果它们有效,我会标记您的答案,否则我将返回当前情况。
我对此有点困惑,但事实证明它就像在运行java -jar server.jar 命令的终端中输入命令一样简单。所以这个终端不仅仅是日志,你也可以像这样在里面运行服务器命令:
Starting net.minecraft.server.Main
[12:55:26] [ServerMain/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[12:55:27] [ServerMain/INFO]: Reloading ResourceManager: Default
[12:55:28] [Worker-Main-5/INFO]: Loaded 7 recipes
[12:55:28] [Worker-Main-5/INFO]: Loaded 1141 advancements
[12:55:30] [Server thread/INFO]: Starting minecraft server version 1.18.1
...
[12:55:45] [Worker-Main-6/INFO]: Preparing spawn area: 94%
[12:55:45] [Server thread/INFO]: Time elapsed: 13802 ms
[12:55:45] [Server thread/INFO]: Done (14.025s)! For help, type "help"
[12:57:23] [User Authenticator #1/INFO]: UUID of player Heikkuli is b8695316-7d23-4709-b5cd-d5f1b56b2665
[12:57:23] [Server thread/INFO]: Heikkuli[/***.***.**.**:*****] logged in with entity id 164 at (-336.69999998807907, 36.0, -405.2331521124616)
[12:57:23] [Server thread/INFO]: Heikkuli joined the game
op Heikkuli
[12:54:53] [Server thread/INFO]: Made Heikkuli a server operator
或者只需输入“帮助”即可查看可用命令。
【讨论】: