Valheim:英灵神殿 个人电脑开服教程
Valheim:英灵神殿 个人电脑开服教程
前置说明
此篇文章更多是告诉你问题是如何发生和解决的,相信你如果打算拿自己的电脑来假设服务器,很多基本的如:端口转发,内网穿透这些小知识点你是知道如何操作的
首先你必须满足一下任何一个条件才可以使用自己的电脑运行游戏服务器
条件二选一
- 有公网IP,并知道如何端口映射
- 没有公网IP知道如何内网穿透!(如蒲公英)
如何假设服务器
个人的电脑请自行按要求选择教程安装服务器
关键问题
在之前,很多人使用自己个人电脑搭建服务器最大的问题就是搭建完成后无法在游戏中的社区列表找到找到自己的服务器,我在小黑盒发帖后大量的玩家私信我能不能使用自己的电脑搭建,甚至他们也有公网IP,可能各种原因不愿意去购买专业的服务器。在之前这个问题无解。只是太多人问了,本身我也是计算机专业老师,仔细分析问题,个人电脑的服务器程序是运行正常的,所以是Steam出了问题?
分析
游戏服务器的启动流程应该是如下的:
- 启动游戏服务器
- 向Steam社区注册我们的服务器
那么问题很明显,出在第二步,在注册服务器的时候,我估计游戏服务器的代码是获取了当前机器的IP地址,将其提交到Steam的社区服务器列表
那为什么云服务器没有问题,那么我恶意的猜测一下,游戏的开发商获取是
GetHostName
这样的话,在我们个人电脑情况下,代码不做聪明一点的处理,极大可能是局域网IP
如果游戏的开发者看到这里,当然我也仅仅是猜测,假如真是这个情况,希望你们使用
webClient.DownloadString()
通过web请求来获取真实的网络IP
新更新,反编译了游戏服务器代码,确实是获取的网络IP,是我误会了
当然,也可能真的是家用宽带的锅
解决问题
有了分析,剩下的问题好办
打开Steam自己注册我们正确的服务器地址即可
打开收藏夹
看到这里相信大家明白了要干什么
这里还有一个问题,如果你以为是输入:x.x.x.x:2456
就又骗游戏开发者骗了,艹了。当时我也蒙蔽了好久,难道是我猜错了?
于是我有截流的程序的网络数据,好家伙,提交给steam的是2457端口而不是2456,2456仅仅是游戏服务器的数据端口,服务暴露端口是2457
也就是说,这里添加的端口是配置文件中填写的端口号+1
那么
完美
问题解决
附
家用 宽带的公网IP地址是会变化的,如果找不到了请自己检测
另外,向Steam提交我们的服务器这一步你自己做了就行,并不是所有的玩家都需要,关键的问题如我上面分析,只需要让Steam知道有我们这一个服务器存在即可
符QQ交流群,有问题@我
群号:618852815