Skip to content

BQMa/ThePoorsPlayMinecraft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

如何不交保护费联机玩 我的世界

  • 如何联机玩我的世界而不交钱, 虽然没有道德但是我是真的穷.
  • MC的官网是 https://www.minecraft.net. 最初由瑞典游戏设计师马库斯·阿列克谢·泊松(别名Notch)单独开发,随后由2009年成立的瑞典公司Mojang开发并发行.
  • 基本思路是简单的, 在一个内存大cpu强的机器上装上服务端, 在本机启动客户端连接服务器 --> 大家一起愉快地玩耍. 还有一种方法是启动客户端之后便可以联机局域网内的伙伴, 如果使用这种方法联机, 那么只需要完成本教程的"客户端"部分即可, 但是我显然不会满足于LAN, 我要在公网上创建服务器好让大家方便地加入.
  • 要解决的主要问题是在 没有交保护费的情况下启动正版的客户端关闭服务器的合法客户端验证.
  • 仓库中提供了一个名为 getServerInfo.py 的脚本演示了如何获得服务器的基本信息.

客户端

  • 我们可以去官网下载客户端, 中国ip会提示你去找网易下载, 请翻墙. 上面有很多格式, 下载看着顺眼的. 之后启动游戏出现启动界面(可能要等很久, 等程序更新奇奇怪怪的文件). 之后注册一个 Bojang 帐号, 开心地点击play demo, 出现了游戏界面, 结果发现只能试玩, 没有单人模式和多人模式的选项.
  • 这是为什么呢? 其原因是, MC客户端的启动思路是用启动器启动游戏, 如果启动器告诉游戏你没有交钱那你就只能玩试玩版, 而如果启动器告诉游戏你交了钱你就可以玩正版了. 所以我们需要一个新的 第三方启动器 . 经过一番寻找, 最后我找到了 https://github.com/huanghongxun/HMCL 上面的启动器, 我也fork了一份这个仓库, 在 https://github.com/BQMa/HMCL .
  • 下载最新版的HMCL启动器(最新版是指开发版), 之后运行. 有一个登陆界面, 随便填一个名字即可(这将成为你在游戏中的名字). 此时, 如果你已经安装过官方的版本, 选择 游戏目录 --> 官方启动器 应该就能找到刚刚你花很久安装的游戏.
  • 如果没有找到, 选择 游戏列表 --> 安装新的游戏版本, 安装一个与服务器版本相符的游戏版本, 在此期间如果下载很慢可以选择在启动器设置中更改下载源(通常是很慢的, HMCL的服务器很卡, 换了下载源之后又有GFW的问题, 所以都靠造化了).
  • 之后启动游戏即可. 至此, 你应该已经可以玩单机版的游戏并且同局域网内的伙伴联机了.
  • 你可以跳过安装官网客户端那一步直接从启动器安装游戏.

服务器端

  • 现在到了服务器端的配置. 去官网下载java版的服务器(https://www.minecraft.net/zh-hans/download/server/), 之后用
    java -jar server.jar
    启动, 之后显示没同意什么eula协议, 退出.
  • 然后发现文件夹中多了一个 eula.txt, 打开, 把 eula 选项改为 true. 再用
    java -Xms1024M -Xmx16384M -jar server.jar
    启动. 上一句话中的 "-Xms1024M -Xmx16384" 的意思是一开始分配 1024Mb 内存, 最多分配 16384Mb 内存, 可以根据自己的情况更改. 如果是无头服务器可以在最后加上 nogui 以关闭图形化界面(那个界面很轻关不关无所谓).
  • 然后试图用客户端选择多人模式添加服务器填写服务器ip, 显示错误(Invalid Session), 其原因是你没有交保护费, server那边会核对帐号有没有交过钱, 没交过就不接受. 解决方法是打开 server.properties 文件, 找到 "onlinemode" 并改成 false 即可.
  • 用客户端连接, 成功.
  • 如何退出ssh后让程序继续运行? 请自行谷歌(答案是在后面加 & 或者用 screen 这个工具).
  • 全部 server.properties 中选项的含义见 https://minecraft.gamepedia.com/Server.properties. 下面列出一些比较有用的设置:
server.properties 中部分设置
设置名 含义 备注
difficulty 难度 peaceful, easy, normal, hard
gamemode 游戏模式 survival, creative, adventure, spectator
level-name 存档名 更换这个就是更换存档了
level-seed 生成世界的种子
max-players 最大玩家数量 如果服务器内存少就设置得低一些
max-world-size 世界半径(2000就是生成4000乘4000的世界) 如果服务器内存少就设置得低一些
motd 客户端服务器列表中在server name下方显示的信息 可以改成有特点的名字
online-mode 是否检查客户端为合法注册帐号 改成false就行了
pvp Player versus Player(队友伤害) 改成flase以关闭

我的问题

  • 当网络环境不好(ping>400ms)时, 程序会卡在加载地形的那一步最后退出(似乎默认timeout是20s), 最气人的是程序有时候加载出了地形还是会因为timeout退出.
    一个方法是使用一台连接到两端都不错的机器使用ssh端口转发来改善网络环境, 事实证明还是很有效的.
  • 如何添加客户端链接密码防止不是小伙伴的人进来?
  • server.properties 似乎可以更改服务器端口, 但是不是默认端口之后客户端应当如何设置呢?
    答: 在MC客户端中填入ip时在后面加上":port"就可以了, 但是并未尝试端口号与冒号之间隔一个空格是否能识别, 也没有尝试全角冒号是否能识别(大概率是不可以)。

Notes

  • 也可以在启动java时添加 -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true 选项来关闭正版验证.
    详见: 教程/编写启动器

更多的问题请提交 issue

About

如何玩 我的世界 而不交钱, 虽然没有道德但是我是真的穷. #我的世界 #Minecraft #MC

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published