书接上回,我们使用了比较傻瓜的操作,虚拟机启动了一个原神服务端,并且成功用了局域网进行连接。
那么问题来了如何实现多人玩耍呢?
我们部署原神的方式 使用了桥接,相当于产生了一台虚拟的电脑,分到了路由器给的ip,也就是在局域网中的终端都能连接到这个服务端。
那么问题又来了,如果想实现互联网访问有没有办法呢?答案是肯定的
外网实现的方式
方式一 就是购买一台 4h8g 或2h8g的云服务器,运行商会提供公网ip,那么我们可以把服务端移植到这个云服务器上去,使用公网ip部署,自然就可以互联网访问了。这肯定是比较优秀的方案。
缺点就是 太贵,买一个配置高的服务器非常贵 不适合普通人购买
方式二 自己申请公网ip
众所周知,大部分人在上网的时候,分到的都是局域网ip,然后与公网ip形成连接,局域网内的所有机器都通过一个公网ip上网,这么做任何机器都可出去浏览互联网,但是别人无法通过局域网ip找到你这台电脑,它可以找到公网ip的机器,到这理论上就终止了 ,因此你被运行商分到局域网ip不能被当做公网ip来使用。
而公网ip 是一个地址池中的一个,用一个少一个,因此想轻易使用到是不容易的,一般比较偏远的村镇单独连接宽带的线路,有可能会被分到不固定的公网ip,比如你在的位置只有你一个宽带用户,可能会被分到,这个我试验过,在老家的电脑就会被分到公网ip。
如何验证自己的电脑是否被分到公网ip呢 很简单,你只需要打开百度,搜索ip 会查到你当前链接互联网的ip,然后访问路由器后台管理页面,找到wan口的上网信息配置,看这俩ip是否一致就行了,一致就是外网。
如果没有被分到,可以主动与运营商联系,办理固定的公网ip 应该需要相应的费用,可能要一个月多少钱的样子,具体得去咨询吧。
如果拿到了公网ip,就可以使用自己的主机作为服务器 运行原神服务端了。
这时候可能会产生一个问题,服务端与分到公网ip的主机是局域网,我找到的是主机,没有找到局域网内的服务端怎么办,比较简单的办法就是 直接转发走,可以下载一个端口转发器,将公网ip的端口 转发 到 局域网中的端口上去下面给个截图
当然某些路由器可能也具备这种功能,可能需要学习下怎么操作,一般都很简单
那么这么做就可以通过这个ip访问到虚拟机内的服务端了
方式三使用内网穿透
首先准备一个云服务器,作为内网穿透的中转服务器
然后ssh 远程链接 这台服务器
移动到 usr
创建proxy 目录
进入proxy 目录
执行命令
wget https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final4/nspserver_scd_linux_v1.2_final4.zip
完成后 对 下载下来的文件进行解压
unzip nspserver_scd_linux_v1.2_final4.zip
vim appsettings.json 可以修改端口哦 不修改也没问题
{
"ReversePort": 7842, //反向连接端口
"ConfigPort": 7841, //配置服务端口
"WebAPIPort": 12309 //API服务端口
}
给外网穿透服务设置 执行权限
chmod 777 NSmartProxy.ServerHost
启动服务端
./NSmartProxy.ServerHost
服务端部署结束
进入你的主机 windows 举例 下载客户端
Windows:
下载https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final4/nspserver_scd_win_v1.2_final4.zip下完完成 解压缩 运行
点击开始 就可以连接服务端进行穿透了
你只需要访问 云服务器的外网地址 加 上面设置外网端口 就可以直接访问上面映射的内网地址中相应的内网端口服务,达到穿透的目的。
原神有几个服务 什么端口 就添加几个配置 配置好内网地址 和 不同的端口 设置一个外网访问的端口号就可以了。
注意这了设置的外网端口号 需要在云服务器中的安全组 放开哦
补充下上面的账号信息
登陆http://ip:12309 进入web端,出厂用户密码为admin/admin
ip换成你的云服务器外网地址 12309端口同样要放开哦
就可以创建内网 穿透用户了哦 如果嫌麻烦可以使用游客访问,但是下次设置会丢吧
经过上面的配置之后,理论上就可以访问到虚拟机内部的原神服务端了哦。
最后
下篇接着讨论 原神怎么部署到一台云服务器上去。
ps: 将内网暴露到公网上去 有风险,要注意数据泄露 服务器攻击等多种情况,仅适合你能掌控多种情况下使用,否则仅适合学习使用,不要在生产环境下轻易模仿。