如果你要和小伙伴联机时,可以选择的方法有这样几种:
当然如果你是网易,那么会有自带的联机,我们这里只说Java版。
(注:本篇文章很长,请耐心观看或者直接跳转,但是模组服需要用到类似原版服的开服方法,不会赘述,所以建议一定要观看完原版服部分,即使你不开)
Minecraft无论是客户端还是服务器,都需要Java环境。可以直接在搜索 Java N
或者在官网上找安装包。最后运行安装包,一路确定。
一般来说低版本准备好 Java 8 就可以了,要是 1.17 以上得用 Java 17(搜 JDK 17
,有些工具会在你没有Java时给你弹出下载连接,选择 Java 17,选好 Windows 还是啥操作系统,最后下载安装包一路确定)。
这个是最简单的办法,只需要一个MC客户端就可以了。我们这里以 1.16.5 为例,其他版本也差不多。
第一步,打开客户端。
然后点击单人游戏(你可能会疑惑为什么联机要点单人游戏),选择或创建一个世界,之后按下Esc,进入这个界面:
点击对局域网开放,之后会显示对其他玩家的设置,也就是说其他人进到你的房间里能干什么。游戏模式就是模式,能不能作弊就是能不能用指令,点击创建一个局域网世界就可以了。
最后,别人怎么进来呢。打开客户端之后选择多人游戏。
如果局域网里有人开放就会显示出来,点击就可以进入了。
这种方法非常简单,但是必须在同一局域网,如果你想要内网穿透,主机是你自己的电脑(127.0.0.1),端口号会在对局域网开放后显示。而且最多只能有8人。
大部分工具也需要你先开启局域网联机,然后把端口号给工具,就可以生成一个房间号,别人再用工具加入对应的房间号即可。由于各种工具各不相同,而且大部分有教程,如果上面局域网联机练习熟练,则可以简单的快速公网联机。所以这里就不再赘述。
优点显而易见,你只要输入,告诉朋友,朋友再一输入,就直接可以了,不用内网穿透。但是必须双方都有工具。
服务器可以分成这几类:
所有这些服务器都基于原版服务器,于是我们首先来讲:
我们以 1.16.5 和 1.18.2 为例。首先,我们需要一个服务器本体:
https://bmclapi2.bangbang93.com/version/1.16.5/server(应该是镜像源)
其他的版本,比如 1.18.2,在这里:
https://bmclapi2.bangbang93.com/version/1.18.2/server
我们会发现,我们需要 [version] 版本的服务器就可以访问:
https://bmclapi2.bangbang93.com/version/[version]/server
我们也可以从别的地方下载。
话不多说下载:
1.16.5下载地址
1.18.2下载地址
下载的可能有点慢,不过不要着急,下载完成之后我们得到一个jar文件:
java -jar server.jar
pause
如果你的.jar文件不叫server,那么就把.bat里的server改成你的文件的名字,是啥不重要,只要一样就可以。
你还可以设置服务器最大最小使用的内存:
java -Xms1G -Xmx2G -jar server.jar
-Xms后面的就是初始内存,-Xmx是最大内存,建议不要低于1G,否则可能卡的一批(别问我为什么卡成PPT和照片,想开光影还想省内存,醒醒吧)。
运行你的.bat文件,然后会发现出现了一个cmd黑窗口,执行了一下然后停了,显示按任意键继续……
,按一下关掉黑窗口,然后发现那个文件夹里出现了一些东西:
打开eula.txt,把最后一行:
eula=false
改成
eula=true
最后再次运行.bat文件,发现服务器运行起来了!
服务器地址是"127.0.0.1:25565",也就是你自己的电脑,端口25565。你可以内网穿透或者用客户端多人游戏直接连接或添加服务器再进入。
但是你会发现,有的时候你进不去,此时服务器开启了正版验证,请入正,我们可以修改服务器配置关闭正版验证。
原版服务器的文件:
用记事本打开server.properties,会发现一堆东西:
#Minecraft server properties
#Sun Sep 11 11:06:22 CST 2022
enable-jmx-monitoring=false
rcon.port=25575
level-seed= #种子
gamemode=survival #游戏模式
enable-command-block=false #可以有命令方块吗
enable-query=false
generator-settings= #生成设置(比如超平坦)
level-name=world #世界名称
motd=A Minecraft Server #添加服务器后的简介
query.port=25565
pvp=true #允许PVP
generate-structures=true #生成结构,如沙漠神殿
difficulty=easy #难度
network-compression-threshold=256
max-tick-time=60000 #最大tick数
max-players=20 #最大玩家数
use-native-transport=true
online-mode=true #正版验证,改成false即可
enable-status=true
allow-flight=false #允许飞行
broadcast-rcon-to-ops=true
view-distance=10 #视野
max-build-height=256 #最高建筑高度
server-ip= #服务器IP,空着就是本机
allow-nether=true #有没有下界
server-port=25565 #服务器端口
enable-rcon=false
sync-chunk-writes=true #同步保存世界
op-permission-level=4 #默认op等级(管理员)
prevent-proxy-connections=false
resource-pack= #数据包
entity-broadcast-range-percentage=100
rcon.password=
player-idle-timeout=0
force-gamemode=false
rate-limit=0
hardcore=false #极限模式,死去玩家将会被封禁
white-list=false #起用白名单,启用后只有白名单里的人可以进入
broadcast-console-to-ops=true
spawn-npcs=true #生成NPC
spawn-animals=true #生成动物
snooper-enabled=true
function-permission-level=2
level-type=default #世界类型
text-filtering-config=
spawn-monsters=true #生成怪物
enforce-whitelist=false
resource-pack-sha1=
spawn-protection=16 #出生点周围保护(0停用)
max-world-size=29999984 #世界大小,不用改
还有一些在白窗口右下角输入框使用的指令(不用加’/'):
令一位玩家成为管理员 op <player name>
剥夺玩家的管理员身份 deop <player name>
显示所有的管理员 ops
停止/关闭服务器 stop
重新加载(配方和数据包 reload
将服务器存至硬盘 save-all
启用自动保存 save-on
禁用自动保存 save-off
踢出玩家 kick <player name>
禁止玩家进入服务器 ban <player name>
禁止玩家的ip加入服务器 ban-ip <player name>
解除玩家的封禁 pardon <player name>
解除玩家的ip的封禁 pardon-ip <player name>
不是管理员(op)的玩家不能使用大部分指令,即使你是腐竹服主,所以你如果要作弊首先在白窗口输入“op [你的名字]”。
1.18.2开服务器类似,不再重复。原版服务器的搭建方法非常重要,其他服务器几乎都要用到原版服务器的开服方式。
其实服务器的优点就在于简单,有了一个server.jar,三两步就可以弄一个服务器。但是还是需要内网穿透。
MC的魅力在哪里,一半是模组!那我想玩模组怎么办?首先搞清楚你这是Forge模组还是Fabric模组。
我们以 1.16.5(旧版)和 1.18.2(新版) 为例。
Forge不能直接下载.jar,要下载专门的下载器,可以从这里下载。
点击Installer跳转,点右上角SKIP下载,得到一个.jar包。
如果你懒得,我教你个方法。观察这个网址,他是1.18.2 Forge 40.2.0的服务器下载包的地址:
https://maven.minecraftforge.net/net/minecraftforge/forge/1.18.2-40.2.0/forge-1.18.2-40.2.0-installer.jar
也就是说,如果MC版本[version1],Forge版本[version2],那么可以去这个网址(https://maven.minecraftforge.net/net/minecraftforge/forge/[version1]-[version2]/forge-[version1]-[version2]-installer.jar)下载。(如果学不会,那就正常下载也可以)
用java运行,运行后选择Install Server,之后选择一个空文件夹,然后确定。
然后下载可能会很慢,而且还有可能失败,如果失败可以去朋友的电脑上试试,成功了再拷过来。
接下来空文件夹里的情况分成了两种,新版和旧版。
新版
它给了你一个run.bat来运行服务器,先运行一遍,然后改eula.txt,再运行一次,会出现白窗口,关掉之后就有server.properties等东西了。
旧版
旧版给了你两个.jar文件,用我们之前的指令运行那个forge开头的。
start.bat
java -jar forge-啥啥啥.jar
pause
运行一下,改一下eula,最后再运行就可以了。
如果运行的时候报错,你可以试试Java 8,因为Java 17改了一些方法。
Java路径\bin\java.exe -jar forge-啥啥啥.jar
pause
把模组文件放进mods文件夹就可以了,运行之后和原版类似。这里注意,有些模组需要服务端和客户端都有,如小地图。
这里我们要访问Fabric服务器下载地址,选择合适的版本(一般后两个选项都要选择最新的,除非你的模组有需求),然后点击蓝色按钮下载。我们这里以 1.18.2 为例。
然后就和原版服务器差不多了,只是把原版的.jar包替换成这个,也是运行、改eula、运行,只是第一次运行会下载依赖文件,很麻烦。
这是两次运行结束后的样子:
有些人可能会发现下面有一行小字(也是蓝色的):
如果点击,此时会下载下来一个安装器(本地的),我们选好服务器标签,版本和Fabric版本,点击安装,效果其实和直接下一样。
有些模组不能实现服务器中的功能,此时插件就登场了,闻名遐迩的多世界插件、领地插件,都是插件(这不废话吗)。
我们可以从这里拿到服务器文件,首先选择对应的版本下载。我们以 1.18.2 为例。
注意要点击Download,不要点Create a Server,然后跳转过来,向下滑,点击Spigot-1.18.2.jar或是其他的,不要点Create a Server。
如果你觉得你找不清点哪里,你可以这样:
确定你要下载那个版本 [version],然后就在https://download.getbukkit.org/spigot/spigot-[version].jar,比如1.18.2就在https://download.getbukkit.org/spigot/spigot-1.18.2.jar。
然后运行、改eula、运行,之后生成的文件有以下这些:
主世界,下界和末地分开储存了,而在服务器中这也是三个不同的世界,游戏设置等并不通用,但数据包只需要放入world文件夹下的datapack就可以了。
如果要导入导出世界的话不像其他的直接把world文件夹替换了或拷走就可以。如果要导入就把world文件夹直接放进去,再次启动之后会自动分解;导出比较麻烦,要把下界和末地的DIM和DIM-1放进world文件夹里再拷走。
配置文件:
# bukkit.yml
settings:
allow-end: true # 是否启用末地
warn-on-overload: true # 是否在服务器过载的时候提示(也就是日志里的Can't keep up! Is the server overloaded? Running *ms or * ticks behind)
permissions-file: permissions.yml
update-folder: update
plugin-profiling: false
connection-throttle: 4000
query-plugins: true
deprecated-verbose: default
shutdown-message: Server closed # 服务器关闭时玩家显示的消息
minimum-api: none
spawn-limits: # 怪物生成上限
monsters: 70
animals: 10
water-animals: 15
water-ambient: 20
ambient: 15
chunk-gc:
period-in-ticks: 600
ticks-per: # 每几tick尝试生成一次
animal-spawns: 400
monster-spawns: 1
water-spawns: 1
water-ambient-spawns: 1
ambient-spawns: 1
autosave: 6000
aliases: now-in-commands.yml
# spigot.yml
config-version: 12
settings:
debug: false # 调试模式
bungeecord: false # 启用bungeecord
timeout-time: 60
restart-on-crash: true # 是否在服务器崩溃时重启
restart-script: ./start.sh # 重启使用的命令
netty-threads: 4
user-cache-size: 1000
sample-count: 12
player-shuffle: 0
moved-too-quickly-multiplier: 10.0
log-villager-deaths: true # 记录村民死亡
moved-wrongly-threshold: 0.0625
save-user-cache-on-stop-only: false
attribute:
maxHealth: # 实体最大生命值
max: 2048.0
movementSpeed: # 实体最大移速
max: 2048.0
attackDamage: # 单次最大伤害
max: 2048.0
messages:
whitelist: You are not whitelisted on this server! # 不在白名单上时显示什么消息
unknown-command: Unknown command. Type "/help" for help. # 未知命令的回显
server-full: The server is full! # 服务器人满时显示的消息
outdated-client: Outdated client! Please use {0} # 客户端版本过旧
outdated-server: Outdated server! I'm still on {0} # 客户端版过新
restart: Server is restarting # 重启服务器的消息
stats:
disable-saving: false
forced-stats: {}
commands:
spam-exclusions:
- /skill
tab-complete: 0
send-namespaced: true
replace-commands:
- setblock
- summon
- testforblock
- tellraw
log: true
silent-commandblock-console: false # 静默命令方块
advancements:
disable-saving: false
disabled:
- minecraft:story/disabled
players:
disable-saving: false
world-settings:
default:
verbose: true
arrow-despawn-rate: 1200 # 几个游戏刻后清除箭
trident-despawn-rate: 1200 # 几个游戏刻后清除三叉戟
hanging-tick-frequency: 100
zombie-aggressive-towards-villager: true
nerf-spawner-mobs: false
seed-village: 10387312 # 各种种子
seed-desert: 14357617
seed-igloo: 14357618
seed-jungle: 14357619
seed-swamp: 14357620
seed-monument: 10387313
seed-shipwreck: 165745295
seed-ocean: 14357621
seed-outpost: 165745296
seed-endcity: 10387313
seed-slime: 987234911
seed-bastion: 30084232
seed-fortress: 30084232
seed-mansion: 10387319
seed-fossil: 14357921
seed-portal: 34222645
dragon-death-sound-radius: 0
mob-spawn-range: 6
hopper-amount: 1 # 漏斗一次传输多少物品
max-tnt-per-tick: 100 # 每帧最多炸几个tnt
enable-zombie-pigmen-portal-spawns: true # 僵尸猪人会不会在传送门处生成
item-despawn-rate: 6000 # 物品在几个游戏刻后被清除
view-distance: default
wither-spawn-sound-radius: 0
end-portal-sound-radius: 0
growth:
cactus-modifier: 100 # 各种植物的生长速度
cane-modifier: 100
melon-modifier: 100
mushroom-modifier: 100
pumpkin-modifier: 100
sapling-modifier: 100
beetroot-modifier: 100
carrot-modifier: 100
potato-modifier: 100
wheat-modifier: 100
netherwart-modifier: 100
vine-modifier: 100
cocoa-modifier: 100
bamboo-modifier: 100
sweetberry-modifier: 100
kelp-modifier: 100
ticks-per:
hopper-transfer: 8
hopper-check: 1
entity-activation-range:
animals: 32
monsters: 32
raiders: 48
misc: 16
tick-inactive-villagers: true
max-tick-time:
tile: 50
entity: 50
hunger:
jump-walk-exhaustion: 0.05 # 各种动作降低的饱食度
jump-sprint-exhaustion: 0.2
combat-exhaustion: 0.1
regen-exhaustion: 6.0
swim-multiplier: 0.01
sprint-multiplier: 0.1
other-multiplier: 0.0
squid-spawn-range:
min: 45.0
merge-radius: # 经验或物品在距离多少的时候会合并
exp: 3.0
item: 2.5
entity-tracking-range: # 生物探测距离
players: 48
animals: 48
monsters: 48
misc: 32
other: 64
配置比较多,如果不是需要不建议改。
这个服务器听名字就知道是Spigot的升级版,优化了一些,但是有一些BUG被修复了特性被删除了,需要通过配置开启,有些甚至不能开启,而且在官网上下载PaperSpigot太慢太复杂,所以不太推荐。
这里用 1.18.2 做示例,打开官网下载处下载PaperSpigot,但是只能下载最新版,所以要滚动到最下面,选择Legacy,然后需要填空,大概意思是说不会支持这些版本了,也不会回复你的请求,选择No和It will closed,再点击submit,就可以进入到旧版本里面。
我们这里使用的1.18.2在首页上就有,直接选择最新版本下载。
点击前面的蓝按钮下载。和原版一样的方法,这是结束后的样子:
可以发现东西更多了,配置也更难了,PaperSpigot有一个好处就是他的服务器端界面升级了。
配置:
# paper.yml(由于太长了所以只截取一般会修改的)
settings:
unsupported-settings:
allow-piston-duplication: true # 开启tnt复制,地毯复制和铁轨复制
allow-permanent-block-break-exploits: true # 开启破坏不可破坏方块(如基岩,末地传送门)
allow-headless-pistons: false # 开启无头活塞
messages: # 各种情况下显示的消息
no-permission: '&cI''m sorry, but you do not have permission to perform this command.
Please contact the server administrators if you believe that this is in error.'
kick:
authentication-servers-down: ''
connection-throttle: Connection throttled! Please wait before reconnecting.
flying-player: Flying is not enabled on this server
flying-vehicle: Flying is not enabled on this server
world-settings:
default:
baby-zombie-movement-modifier: 0.5 # 小僵尸相对于正常生物快多少,如0.5就是正常僵尸的速度*1.5,
experience-merge-max-value: -1 # 为经验球设置最大值防止他们合并成一个
grass-spread-tick-rate: 1 # 草方块传播速度,越大越慢,以tick为单位
disable-ice-and-snow: false # 是否关闭冰与雪的形成,同时还会导致炼药锅不能被雨/雪填满
disable-thunder: false # 是否关闭雷雨天
disable-explosion-knockback: false # 是否关闭爆炸带来的击退效果
all-chunks-are-slime-chunks: false # 史莱姆能否在所有区块生成
game-mechanics:
disable-player-crits: false # 关闭玩家暴击
shield-blocking-delay: 5 # 盾牌被斧子击中后的禁用时间
disable-chest-cat-detection: false # 猫在箱子上时能否开启箱子
disable-pillager-patrols: false # 关闭掠夺者巡逻队
pillager-patrols:
spawn-chance: 0.2 #巡逻队生成几率
spawn-delay:
per-player: false
ticks: 12000 # 巡逻队几tick尝试生成一次
start:
per-player: false
day: 5
anti-xray: # antixray设置
enabled: false
engine-mode: 1
max-chunk-section-index: 3
update-radius: 2
lava-obscures: false
use-permission: false
hidden-blocks:
- gold_ore
- iron_ore
- coal_ore
- lapis_ore
- mossy_cobblestone
- obsidian
- chest
- diamond_ore
- redstone_ore
- clay
- emerald_ore
- ender_chest
replacement-blocks:
- stone
- oak_planks
door-breaking-difficulty: # 生物破门的难度
zombie:
- HARD
vindicator:
- NORMAL
- HARD
fishing-time-range: # 钓鱼所需的tick
MinimumTicks: 100
MaximumTicks: 600
max-growth-height: # 植物最多能长多高
cactus: 3
reeds: 3
bamboo:
max: 16
min: 11
支持绝大部分插件,但是不太稳定。我们以 1.18.2 为例。下载地址在这里。
和Spigot的下载界面差不多,要点Download,进去之后不点Create a Server,点名字。
也可以通过这种方式下载:https://download.getbukkit.org/craftbukkit/craftbukkit-[version].jar。
下载:Craft Bukkit 1.18.2
和原版一样的启动方式,这是运行后的文件夹:
其实这是一个模组插件服务器,它也支持模组。
混合服务器就是插件服务器里的SpongeForge端,模组插件都支持。SpongeForge端支持的插件较少,不过主流插件应该都有,支持Forge端模组。这里以 1.16.5 为例。下载地址Sponge Downloads。
这里有一个选择,上面是不用模组,支持更多插件,下面是支持Forge模组,但是插件不多。我们点下面。
我们点击1.12.2旁边的三角修改版本,点击Download下载。
之后和原版方式一样,mods文件夹放模组,plungin文件夹放插件。
无论是服务器还是局域网都得需要内网穿透(除非你们连的一个局域网),而且最近几个工具的联机功能都停用了,正在开发,所以成为一个大服腐竹内网穿透显得至关重要。
内网穿透有很多,可以去参考别的文章,这里有几个:
可以使用ngrok,因为注册一个账户就可以免费穿透,但是不能同时穿透两个,而且免费版最近很卡,穿透不了(亲测不能用了,付费版……得吃钱)。
下载之后是一个ngrok.exe,用命令行执行ngrok tcp 25565即可内网穿透MC服务器的默认端口,穿透之后会有一个界面,其中tcp://0.啥啥啥就是你的网址了。
注意在多人游戏连接的时候不要把tcp://也写上,只用写0.啥啥啥就够了。
还有像natapp、frp之类的,都可以用,读者自选。
这里我参考了一些他人的文章,感谢原作者爷真可爱和无奈的小落:
如何搭建一个minecraft服务器
[教程]如何给我的世界服务器添加模组和插件