MC百科社群

标题: 多人联机:从本质到具体操作到锦上添花 [打印本页]

作者: Steve一直微笑    时间: 2018-6-17 18:25
标题: 多人联机:从本质到具体操作到锦上添花
本帖最后由 Steve一直微笑 于 2018-6-17 19:38 编辑

    首先事情的起因是我搬运了一个叫做简单联机的Mod,随后热心的百科使用者向我提出了大大小小的问题,最终我意识到有必要写一章关于多人联机的教程了。
    本文章中部分引用了我自己在百度贴吧发过的教程贴,请知晓。
    本教程不包含局域网内部的联机,这没什么技术含量的。我们只讲有路由器的情况下互联网联机(没有路由器的互联网联机同样适用,不用繁琐的跳过路由器)

    I.基于互联网的联机原理
    我就偷个懒先投下我在贴吧的教程。
   
在了解如何牵线搭桥之前,我们先来看看你们为什么不能直接牵到对面的手。我画了个图来表示互联网的工作原理。


(这张图↑有纰漏,请自行脑补)
图中不难看见,我们的电脑通过宽带连接至运营商,然后由运营商接入互联网。对面要是想看见你,就需要知道你的地址,在网络上这个地址叫做IP。每个电脑的IP在既时是独一无二的。通过这个可以按图索骥,找到你。而从你的游戏发出的一个数据,要通过你-运营商-互联网-运营商-对方这个传递过程。你觉得很辛苦?真是抱歉,目前大部分比这更更难。因为....

因为路由器。如果家里没有路由器的可以跳过这几层。你可能会问,路由器是你葛优躺的好伙伴,为什么要阻止你追求自由..?实际上它是无辜的。路由器在你与调制解调器(猫之间)又构建了一个局域网。你和你的家人都在这个内网里,路由器是你们对外访问的必经之路,这增加了你的安全。但是现在它是障碍。我们入正题,该如何让这冰冷的墙说yes呢?

II.穿过路由器

不,你不需要变成Thermite来教一节铝热反应课。我们需要的是
穿透。
穿透分为几种。目前可以使用,或者有同样作用的有这几种方式。DMZ转发,虚拟服务器,Vlan构建,局域网内联机。其中dmz,虚拟服务器适合记得路由器管理员账号密码,能进后台面板的人。vlan适合那些忘记的人。都需要一个人开服。我们挨个讲讲方式

一,虚拟服务器
虚拟服务器
路由器又给你加了个墙,那我们可以直接搭个梯子。虚拟服务器就是这样一种梯子。它在路由器的 转发规则-虚拟服务器 里设置。因为路由器牌子不同,我就说一下你要做什么。首先,虚拟服务器有很多空让你填,实际上就那么几条是必须填的。内网port范围,外网port范围,内网地址。
端口:填写你希望转发的端口,在服务端内设置什么就在这设置什么。
地址:填写你做服务器的设备的内网地址,一般192开头
填写完毕保存后,你就可以开服务器了。

当然现在的许多路由器后台界面都是花花绿绿的,不过功能还是一样的。善用度娘。
    这个过程就是“穿透”路由器的过程。

二.DMZ转发

DMZ
我不推荐你使用dmz,这不安全,可是,dmz真是太方便了!以至于你只需要填写内网设备的ip就行了。因为DMZ转发会把所有的端口全部转发,因此你可以忘记port这个项目了。

三.Vlan构建
vlan构建
你听过hamachi吗?hamachi就是一个vlan软件,它的作用就是穿越天涯海角,把你和你的伙伴强行连接到一个虚拟的局域网里。在这里,尽管你们不在一个路由器下,你们还是可以互相访问。在这里可以按照局域网联机一起玩。

图为课堂上开小差的你和你朋友

至此你已经知晓了如何把你和你朋友之间的那堵墙打破,你接下来要做的就是在自己的设备上架设服务器,好让一个游戏开始。
III.建设服务器
贴吧教程到此为止了,接下来我自己表演吧。
所谓服务器,就是建设出来提供服务的软体。要想跟朋友联机打游戏,就必须有个人承担这个角色,这个角色通常被叫做服主。
建设服务器有两种方式,对于Minecraft而言,分别是 客户端作为服务器法(即游戏中的对局域网开放选项,下称C2C[Client to Client])和 服务端架设法(即我们通常所说的水桶服,水龙头服之类。顺带一提,Mojang官方的领域服务器、某宝的服务器租赁也属于此类。下称C2S[Client to Server])
C2C:
这个方法比C2S要简单,因为如果你作为服主,又要参与玩耍,你只需要点击 对局域网开放 就好。这时你的游戏会对局域网开放,接受来自局域网的请求。在此时使用端口映射,将局域网和互联网的界限打破,那么从互联网也可访问这种C2C服务器。
需要注意的是,这种方法会受到不可关闭的正版验证系统监测,如果是盗版是不可能使用新版本游戏联机的(该机制并非一直存在,而是在1.8时添加的)
C2S:
这个方法较为繁琐,但是有一个显而易见的优点,那就是它提供了online-mode的关闭选项,关闭该选项就可以关闭正版验证系统。同时它也提供了许多的优势,比如插件、更多的设置选项。但是它的缺点也很显著,开启一个服务端相当于开启一个Minecraft游戏,需要消耗和客户端相同甚至更甚的系统资源。对于一般玩家而言,开一个服务端再开一个用来玩的客户端是相当吃力的。也因此,出现了Mojang官方的领域,和某宝的租赁服。它们的共同特点是帮你托管你的服务端,而不是你自己来开在自己的设备上。
那么简单联机这个Mod做了什么?
Nah,请去这个Mod的百科界面下看我的教程吧。
有不懂的地方可以站内私信,也可回复。有不同意见也烦请指出,我虚心学习。



作者: 重生是希望    时间: 2018-6-17 18:38
希望厨房
作者: Steve一直微笑    时间: 2018-6-17 19:16
重生是希望 发表于 2018-6-17 18:38
希望厨房

厨房....?
作者: smilesadness    时间: 2018-6-17 19:18
希望MC百科图床
作者: Steve一直微笑    时间: 2018-6-17 19:21
smilesadness 发表于 2018-6-17 19:18
希望MC百科图床

马上!
作者: NoNamePlay    时间: 2018-6-17 20:17
Steve一直微笑 发表于 2018-6-17 19:21
马上!

资瓷!
作者: 浮世德解说    时间: 2018-6-17 20:22
OMG!是大佬啊!
那我想冒昧问一下您,可以连3km(大约)外的人吗?如果可以,怎么弄?
作者: smilesadness    时间: 2018-6-17 21:43
浮世德解说 发表于 2018-6-17 20:22
OMG!是大佬啊!
那我想冒昧问一下您,可以连3km(大约)外的人吗?如果可以,怎么弄? ...

如果空间允许的话,你可以买一个点对点天线的路由
如果不允许的话,那就剩一些只要联网都通用的方法了
作者: sxjsxj    时间: 2018-6-17 22:53
国内建议用Sakura Frp。
https://www.natfrp.org/
作者: Steve一直微笑    时间: 2018-6-17 23:18
浮世德解说 发表于 2018-6-17 20:22
OMG!是大佬啊!
那我想冒昧问一下您,可以连3km(大约)外的人吗?如果可以,怎么弄? ...

联机跟距离没有关系!
我曾跟在国外的好友联机,不管如何,你要操作的也就是我上面说的那些罢了
作者: Steve一直微笑    时间: 2018-6-17 23:19
sxjsxj 发表于 2018-6-17 22:53
国内建议用Sakura Frp。
https://www.natfrp.org/

这是新的hamachi类软件吗
是的话……真让人捏一把汗
在hamachi对国内禁用后,其他的vlan软件不是没有,我也用过几个,无一例外全部被ddos之类的安排了。现在没人愿意做vlan
作者: 浮世德解说    时间: 2018-6-18 07:20
Steve一直微笑 发表于 2018-6-17 23:18
联机跟距离没有关系!
我曾跟在国外的好友联机,不管如何,你要操作的也就是我上面说的那些罢了 ...

但是……看不懂呢
作者: NoNamePlay    时间: 2018-6-18 08:42
本帖最后由 NoNamePlay 于 2018-6-18 08:48 编辑

emmm, 读了一下大佬的教程,我的理解是这样。
首先按照网络上的方法做一个端口映射,这一点和在自己电脑上架设服务端来开服相同。
接着在自己的MC游戏里打上这个mod,启动游戏,这时你的游戏端就已经是一个服务端了,配置全都由简单联机模组提供的配置文件来操作,同时,你只要告知你的朋友你的IP和你开放的端口,他们在服务器列表中添加<你的IP>:<端口>,就可以加入你的游戏。
这样,虽然本质上这个模组的确是在架设服务器,但是与传统的使用服务端相比,作为服主的玩家省去了双开客户端和服务端的麻烦,和配置服务端这一更大的麻烦;作为其他玩家,不再从多人游戏中直接找到局域网游戏,而是与加入服务器一样操作,也很简单。
应该是这样的吧
作者: Steve一直微笑    时间: 2018-6-18 10:06
NoNamePlay 发表于 2018-6-18 08:42
emmm, 读了一下大佬的教程,我的理解是这样。
首先按照网络上的方法做一个端口映射,这一点和在自己电脑上 ...

没错哦。就是这样
作者: smilesadness    时间: 2018-6-18 11:21
NoNamePlay 发表于 2018-6-18 08:42
emmm, 读了一下大佬的教程,我的理解是这样。
首先按照网络上的方法做一个端口映射,这一点和在自己电脑上 ...

emmmm…我觉得我们是不是应该统一一下我们在1.7.10这种不需要简单联机mod的环境下是怎么联机的?
作者: NoNamePlay    时间: 2018-6-18 13:50
smilesadness 发表于 2018-6-18 11:21
emmmm…我觉得我们是不是应该统一一下我们在1.7.10这种不需要简单联机mod的环境下是怎么联机的? ...

... 我在读这教程之前完全没有开过服务器的经验和知识储备 只会在同一个wifi下联机的操作 是真的萌新 大佬怕是需要问一下其他大佬
作者: NoNamePlay    时间: 2018-6-18 13:52
Steve一直微笑 发表于 2018-6-18 10:06
没错哦。就是这样

稳了!感谢大佬!
我这就去给同学打电话.jpg
作者: Steve一直微笑    时间: 2018-6-18 13:59
smilesadness 发表于 2018-6-18 11:21
emmmm…我觉得我们是不是应该统一一下我们在1.7.10这种不需要简单联机mod的环境下是怎么联机的? ...

我这上面有写:因为1710没有正版验证所以想怎么连就怎么练
作者: smilesadness    时间: 2018-6-18 14:09
本帖最后由 smilesadness 于 2018-6-18 14:52 编辑

C2C:开放UDP,向局域网内广播游戏已经开放的信息,这时同局域网的另一个客户端在“多人游戏”里就能看到客户端开放的世界,并根据信息建立TCP连接进入别人的世界;由于广播不能穿出wan和宽带连接,因此这些位置的客户端的多人游戏里什么都不会显示(即使有办法联机);至于这个广播能不能从wan口穿入另一个NAT,没试过不懂(很多家庭用2台路由器扩大WiFi范围,但是很多人都不会去关DHCP,网段冲突也不调,算上这些意外连得上才怪)。
以上原理纯属堆砌概念,看不懂别找我,问建站级的dalao去。下面将从一些简单的网络环境开始讲解C2C联机:
用一台PPPOE的电脑开服:如果是公网IP,不出意外全世界能上网的电脑都能用IP:port直连;内网IP…同一个内网的所有电脑和子网的电脑都能直连,范围一般是同一个运营商+同一个学校/同一个小区/同一栋楼(看具体情况而定),最简单有效的测试方法:打开游戏ping
用一台PPPOE的路由器下的电脑开服:关键词:端口转发、DMZ、upnp+tacupnp。剩下的跟上面的情况大同小异。TAC建站快10年了我们烧支香吧。
路由器套路由器之类的环境下开服:请求管理员协助。如果你就是管理员……
特yi殊ban情况:内网IP
恭喜你抽到下下签(上上签?不存在的),原理就是用PPPOE连到了一个更大的局域网。如果小伙伴刚好也在这个局域网就不用往下看了。解决方法:
1、联系运营商:与工程师协商。因为这些东西和利益挂钩,别人为什么要帮你……
2、建立虚拟局域网(vlan):蛤蟆吃、游侠
3、域名:买一个域名+ddns,然后用域名:port连接。至于支持什么端口问服务商。ddns建在路由器时记得转发(大概)。
4、一些只见过奶没见过火的方法:ngrok等。
注意:据Steve一直微笑 述:Server.Properties for LAN这个mod连upnp都不会,也就是说:连一个公网IP+打开upnp的路由器都搞不定。1.7.10联机时运营商请你吃的shit,到了1.12.2一碗也不少;运营商送的光猫娘该推还是得推。这个mod对于联机唯一作用:NTR麻将。麻将:求求你们入正吧
写完之后才看见你们什么都会,但是删了心疼,发出来参考算了。
作者: Steve一直微笑    时间: 2018-6-18 14:46
smilesadness 发表于 2018-6-18 14:09
C2C:开放UDP,向局域网内广播游戏已经开放的信息,这时同局域网的另一个客户端在“多人游戏”里就能看到客 ...

其实我也一直想说来着
求求你们入正吧
这个↑
作者: Steve一直微笑    时间: 2018-6-18 14:47
smilesadness 发表于 2018-6-18 14:09
C2C:开放UDP,向局域网内广播游戏已经开放的信息,这时同局域网的另一个客户端在“多人游戏”里就能看到客 ...

另外门头沟是可以举报的。我本来就是门头沟,用工信部威胁一番后成功造反。
作者: smilesadness    时间: 2018-6-18 15:04
Steve一直微笑 发表于 2018-6-18 14:47
另外门头沟是可以举报的。我本来就是门头沟,用工信部威胁一番后成功造反。 ...

拿什么举报。合同里又没有写给你公网IP,又没有给你写上行带宽,又没有给最终解释权你BB,工信部问起我都不知道人家到底哪里不对。
作者: Steve一直微笑    时间: 2018-6-18 15:08
smilesadness 发表于 2018-6-18 15:04
拿什么举报。合同里又没有写给你公网IP,又没有给你写上行带宽,又没有给最终解释权你BB,工信部问起我都 ...

这很容易理解,如果你能发觉缺失公网IP是能够造成直接经济损失的话
作者: Steve一直微笑    时间: 2018-6-18 15:10
smilesadness 发表于 2018-6-18 15:04
拿什么举报。合同里又没有写给你公网IP,又没有给你写上行带宽,又没有给最终解释权你BB,工信部问起我都 ...

至于这个问题讨论下去就偏离主题了……但是你可以去看看知乎上的相关问答。合同是我们争取权益的一项重要依据,但是显然并不是合同上写着的就是一切,总有些漏网之鱼需要在后期协商的呀。
作者: smilesadness    时间: 2018-6-18 15:37
Steve一直微笑 发表于 2018-6-18 15:08
这很容易理解,如果你能发觉缺失公网IP是能够造成直接经济损失的话

你建网站人家问你备案了吗;你装网络摄像头说被偷问你报案了吗,说老人摔跤问你送医院看了吗,说你看见网络摄像头黑了吓的赶回家人家问你车费拿发票了吗;我怕做私有云瘫痪人家推荐我换个牌子。即使什么人家什么也不问,人家也会笑嘻嘻地推荐个丧病的固定IP的套餐给你让你继续享受公网IP服务(性价比自己揣摩)。
人家又不是第一次撞见要IP来打游戏的,电话那头一个连NAT都不懂的客户小妹都可能拿着一整页纸的说辞来对付我们。我们才是一个人在战斗,抓住把柄然后成功的不会是多数。
感觉自己签的合同腰板才硬啊。
作者: Steve一直微笑    时间: 2018-6-18 15:40
smilesadness 发表于 2018-6-18 15:37
你建网站人家问你备案了吗;你装网络摄像头说被偷问你报案了吗,说老人摔跤问你送医院看了吗,说你看见网 ...

唉……你赢了……我得睡一觉去了。
作者: 1a2s3d4f    时间: 2018-7-2 22:03
1.12.2好像局域网连机可以用,没有正版验证
作者: HiME    时间: 2018-8-24 22:33
还是不懂怎么让别人在互联网能访问我的服务器,不会弄。。。。
作者: QQ酱77858    时间: 2020-2-29 19:41
我...还是不懂到底这个mod要怎么用 哭了

作者: QQ酱107640    时间: 2020-3-19 10:59
大佬啊问一下问一下就是 server.properties中allow fight改成true还是会生存模式下用装备飞行还是会显示此服务器未启用飞行这个怎么解决求助。
作者: QQ酱28770    时间: 2020-3-21 09:26
求助,1.8.9版本加了这个mod后进去存档后直接会退回主界面
作者: QQ酱114166    时间: 2020-5-22 23:07
很好很好,我现在有一个疑问,我的路由器附带了解码功能,也就是只有一个路由器,没有猫,需要翻墙吗(我觉得不需要)
作者: QQ酱120154    时间: 2020-6-25 10:21
表示一点都看不懂




欢迎光临 MC百科社群 (https://bbs.mcmod.cn/) MC百科|最大的MineCraft中文模组百科