2

我正在使用 Web.com 为我的 MMO 托管一个网站。我目前正在开发一个简单的服务器并在 Web 服务器上对其进行测试。我已将 server.jar 文件上传到 Web 服务器,但现在我不知道如何运行它。我将如何在网络服务器上运行它?

客户端还需要一个IP地址来连接,该IP是服务器的IP吗?还有一件事,我应该使用什么端口?

任何帮助将不胜感激!

4

2 回答 2

4

Web.com 似乎不是您需要的主机类型。您将需要某种 VPS 提供商,例如 AWS、DigitalOcean 或 Linode。他们将为您提供一个具有 SSH 访问权限的 Linux 虚拟机,这是您托管服务器所需要的。

要在租用服务器后获得 SSH 访问权限,您需要一个 SSH 客户端。在 Linux 和 Mac 上,这是预安装的 - 只需运行ssh <ip>. 在 Windows 上,您需要像 Putty 这样的东西。

然后,您需要将您的添加server.jar为启动脚本。Linux 发行版有多种方法可以做到这一点,但最常见的方法(在最近的 Ubuntu 版本、Arch Linux 和许多其他发行版上)是通过 Systemd。将这样的文件添加到/etc/systemd/system/mmoserver.servicenano对于新手来说是一个很好的终端编辑器,运行nano <path>):

[Unit]
Description=MMO Server

[Service]
ExecStart=java -jar /path/to/server.jar -options=blahblahblah

[Install]
WantedBy=multi-user.target 

基本上,这表示当服务器启动到多用户模式(正常模式,与单用户模式相反,单用户模式仅在出现问题时),它运行ExecStart命令 - 你的服务器。现在重新启动并用于ps aux验证您的服务器是否正在运行。使用箭头键将其传送到less( ps aux | less) 以滚动,使用q退出less

ifconfig您可以通过运行并查找来找到您的 VPS 的外部 ip inet addr:...。也就是说,您首先需要 ip 来通过 SSH 访问它,所以您可能已经拥有它... :-)

于 2014-10-15T01:35:01.287 回答
2

ssh您可以使用带有以下命令的会话运行服务器:

ssh user@server 'java -jar server.jar'

如果客户端应该与服务器建立连接,IP 地址确实是服务器上的 IP 地址。

在许多情况下,该端口在 Java 应用程序中是“硬编码”的(您需要检查源代码),或者它作为参数提供jar(例如java -jar server.jar -port 8080,其他程序(如Apache使用一组配置文件,其中端口必须指定)。(请注意,这取决于实际的 java 程序。程序未解释的标志在许多情况下会被简单地忽略)。

于 2014-10-15T01:11:11.690 回答