我正在使用Web.com为我的MMO主持一个网站。我目前正在开发一个简单的服务器并在Web服务器上进行测试。我已将server.jar文件上传到Web服务器,现在我无法弄清楚如何运行它。我如何在网络服务器上运行它?
客户端还需要一个IP地址才能连接,那IP是服务器的IP吗?还有一件事,我应该使用哪个端口?
非常感谢任何帮助!
答案 0 :(得分: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.service
(nano
是新手的好终端编辑器,运行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
并查找inet addr:...
来找到您的VPS外部IP。也就是说,你首先需要ip来连接它,所以你可能已经拥有了它......: - )
答案 1 :(得分:1)
您可以使用ssh
会话使用以下命令运行服务器:
ssh user@server 'java -jar server.jar'
如果客户端应与服务器建立连接,则IP地址确实是服务器上的IP地址。
在许多情况下,端口在Java应用程序中是“硬编码的”(您需要检查源代码),或者它是作为jar
的参数给出的(例如java -jar server.jar -port 8080
,其他程序(比如 Apache 使用一组必须指定端口的配置文件)。(请注意,这取决于实际的java程序。在很多情况下,程序不解释的标志会被忽略)。 / p>