所有服务端,都过来! 重大公告! 征集现有所有服务端! 为了提供更加齐全的服务端核心文件,本贴现在征集各类本贴没有的服务端。例如KBungeeCord,PaperspigotAPI,Minecraft_ServerAPI,BungeeCord,KPaperspigot,MCPE服务端,Sponge,KCauldron等等 各位作者可以按照格式独立发布到[软件资源]板块,然后私信本人或者回复本帖,我会带上服务端链接,作者链接,下载链接到其帖子! 感谢大家的支持! 另外,由于Spigot服务端API本人不会使用,希望各位技术大神做出解释! 目录:
什么是核心文件?[转自stool、craftbukkit官网 这篇帖子包含了什么核心? CraftBukkit(水桶服务器) BungeeCord(跨服服务器) Spigot(水龙头服务器) SpigotAPI(水龙头服务器API) Minecraft_Server(官方服务器) Cauldron(原MCPC+) Libigot(现已停更) Spoutcraft(水龙头服务器) PaperSpigot(水龙头优化版) Sponge(海绵服务端API) TorchSpigot 下载这些核心文件 CraftBukkit:1.6.1-1.10.2百度网盘 Cauldron:1.7.2-1.7.10百度网盘 PaperSpigot:1.7.10-1.8.8 百度网盘 BungeeCord:全版本 百度网盘 Sponge:1.8 百度网盘 链接:http://pan.baidu.com/s/1dDfeHQL Libigot:1.5.2、1.6.2 (官方已停更) Spigot:1.5.2-1.10.2百度网盘 SpigotAPI:1.8.3-1.10.2百度网盘 Minecraft_server:1.5.2-1.10 百度网盘 (其中1.8分别有exe格式和jar格式,所有版本格式都带有官方控制面板) Spoutcraft:1.5.2 1.6.4 百度网盘 TorchSpigot:1.8.8-1.9.4贴内链接 此服务端为国人制作的Spigot分支,希望大家报以支持! 下载链接请前往贴内下载,本贴暂不搬运更新。作者页面 这些服务器核心分别有什么作用?什么特点? [转自wolski,部分原创 minecraft_server Link: - 官方服务端,不能装插件!可以安装MOD API使之加载各种MOD。本贴只搬运jar通用版和少量exe版! 站内API合集:http://www./thread-63718-1-1.html craftbukkit Link:http://dl./downloads/craftbukkit/ 国内比较大众的服务器核心,不可随意安装API!不过有水桶版Player API以及smartmoving.jar,安装后就可以在水桶服玩核弹啦~ Spigot Link: http://ci./job/Spigot/ craftbukkit优化版!可有效分配利用资源,人多的服效果更为明显。理论上支持所有插件,但也不排除个别情况。并且服务端自带反X-ray MOD! SpigotAPI Link: http://ci./job/Spigot/ Spigot的API文件 独立出的Spigot应用程序接口,用于插件开发者使用 PaperSpigot Spigot的优化版! 相比Spigot服务端来说有着显著的性能提升 (Tiles几乎不再消耗CPU时间,爆炸算法优化,红石不再卡服,流水算法优化,区块压缩节约内存,优化Spigot自带的Anti X-ray等等) 并且有许多可自定义项目 (船损坏依然掉落船,各种地形生成的开关等等) TorchSpigot 国人自制Spigot分支! 相比Spigot,Paperspigot,Taco服务端拥有爆炸性优化 与其他核心相比,Toch具有以下特性: 将更高版本上的各种更新重新应用到1.9.4/1.8.8上 更完善的功能,包括自动保存和内置反X-ray(by stonar)等功能(下文详细) 更优秀的性能,多线程处理 充分利用多核心CPU 内置了1.9-1.9.2版本的MC连接支持 包括实体、爆炸等均为多线程计算,防止卡顿 MCPC-Plus 现已更名为Cauldron 以上链接失效,请看站内搬运帖:http://www./thread-282081-1-1.html craftbukkit、forge、Spigot的集合体!所以这个端即可以装MOD(绝大部分),又可以装插件!内置特定版本forge,无需拖入forge,当然你也不能随便往里拖东西,Player API需要安装MCPC+的版本。 关于插件的兼容,这里说两句,并不是所有的插件都能在MCPC+上完美运行、支持MOD物品,毕竟插件的设计是以craftbukkit为基础的,设计者可能不会考虑那么多,具体情况要自己测试! 相关说明链接:http://www./forum.php?mod=viewthread&tid=281716 Libigot Link1: http://get./ Link2: http://build./job/Libigot/ 属于craftbukkit的分支,可安装插件,兼具Spigot节省资源的功能。其最大的特点是对老旧插件的兼容性很好 PS:七月中旬已停止开发,停留在1.6.2 R0.1版本..... 请使用spigot Spoutcraft Link: http://www./ Link2: http://get./ 不需要特殊的服务端,只要能装spoutplugin即可安装spout专用或实现具有spout功能的插件!客户端比较特殊,见这个地方 与原版MC相比,spoutcraft有更多的改进,支持高清皮肤、披风,通过server端来自定义音效、音乐,自带小地图等等。 其他的就不了解,有爱的同学可以来科普、推广 Sponge是一个新的Minecraft服务端。目前还在开发中。 简单的说,就是在Bukkit因为DMCA而挂掉之后,一群人决定抛弃Bukkit并重写一套服务端的API,这就是Sponge。 更具体一些的内容可以看论坛内介绍地址。和这里并且感谢坛友@RecursiveG 在坛内发布的介绍~ BungeeCord 并不是一个服务器. 是服务器之间的桥梁,可以轻松的把多个服务端通过此服务端连接起来,在各个服务端之间来回跳跃,实现云服务器。 关于此服务端的架设本帖会进行更新,关于这个服务端的基础本人已经整合了一个基本的BungeeCord的云服务器懒人包,可供参考。 如何使用这些核心? [craftbukkit、spigot、PaperSpigot、Libigot、Spoutcraft]适用↓
[MCPC+、Cauldron、Cauldron-Plus]适用↓
[spongeForge、SpongeVanilla]适用↓
[BungeeCord]适用↓
[Minecraft_Server]官方服务器适用↓
生成文件: 统一生成:[BungeeCord除外] [spoiler] loge 服务器后台数据备份 crash-reports 崩溃报告 plugins 插件文件夹 world 主世界 world_nether 地狱世界 world_the_end 末路之地 banned-ips.json 封禁ip列表 banned-players.json 封禁玩家列表 eula.txt EULA协议 help.yml 在游戏中输入/help的东西 ops.json 服务器管理员列表 server.properties 服务器基础设置 usercache.json 玩家在world里的player文件夹的读取ID whitelist.json 白名单列表 另外 Spigot.yml为spigot服务器的设置文件 bukkit.yml为spigot服务器、bukkit服务器的设置文件 Paper.yml为PaperSpigot服务器的优化文件 Spout.yml为Spout服务器的设置文件 BungeeCord服务器生成: modules plugins:BungeeCord的插件文件夹 config.yml:配置文件 locations.yml:设置文件 modules.yml:设置文件 有关于BungeeCord的一切: 介绍: BungeeCord跨服群组是很流行的一种分布式部署Minecraft服务端从而提高服务器硬件资源利用率的技术。现在已经有很多关于BC群组的教程帖,水平参差不齐,其中有部分教程帖不仅是描述不清晰,甚至在某些地方有错误的描述,从而误导了很多人。 关于设置: 我这篇教程帖主要基于BungeeCord官方Wiki,对其中重要的部分进行翻译和解读,来帮助想要搭建跨服群组的服主来更深刻的理解其中每一项配置的作用。 因为本文的主要内容是基于官方Wiki,所以有可能不适合新手服主来阅读,以后我可能会根据情况来写深入浅出的快速搭建指引专供新手阅读。 使用BC跨服群组后,会产生很多潜在的安全漏洞,关于BungeeCord群组的安全漏洞,请阅读:http://www./thread-399234-1-1.html 设置最大内存的建议:每多500人就多增加512M内存的分配,当然如果你用了BC端的插件,你也得考虑这些插件的内存占用 建议在Linux生产环境下运行BungeeCord 如果你使用Multicraft,请下载他们推荐的配置文件:http://www./download/conf/?file=bungeecord.jar.conf 请将你子服务端目录下的“bukkit.yml”中的“connection-throttle”一项的数值修改为“-1” 请将你子服务端目录下的“server.properties”中的“server-ip”一项的值修改为“127.0.0.1”(原因请参见另一篇关于漏洞解析的帖子) 为了提高安全性,请确保你的服务器防火墙阻断了玩家直接连入后端服务器的请求(最好只给你的BC端开放唯一一个外网端口) 添加服务器列表页图标的方式和普通服务器一样,放一个64*64像素的png文件到BC端文件夹即可,图片名称是“server-icon.png” 如果你想获取到正版玩家的UUID,请在BungeeCord的“config.yml”中设置“ip_forward: true”,并使用spiot/cauldron作为子服务端,然后在“spigot.yml”中设置“bungeecord: true 添加子服务器: 在config中,找到如下并修改。 servers: login: address: 127.0.0.1:25560 restricted: false motd: '&b这是登陆服务器' survival: address: 127.0.0.1:25561 restricted: false motd: '&c这是生存服务器' game: address: 127.0.0.1:25561 restricted: false motd: '&c这是游戏服务器' 有关于Sponge的一切: Sponge 项目目前由四个部分组成,鉴于有人搞不清楚其中的差别于是我在这儿罗列一下
本帖提供的是 SpongeForge 和 SpongeVanilla 的下载地址。Sponge要求使用Java8运行 关于: Sponge 是一个新的向 Minecraft 服务器添加插件支持的项目。目前还在开发中。 简单的说,在 Bukkit 因为 DMCA 而挂掉之后,一群人决定抛弃 Bukkit 并重新设计一套服务端的 API,这就是 Sponge。 更具体一些的内容可以看szszss菊苣的博客。 目前,Sponge 作为一个 Mod 存在,但是它并不会要求在客户端也安装 Forge。 另外,因为 Sponge 的 Mod 本质,它也可以在客户端运行 友链: Sponge文档:https://docs./zh-CN/ Sponge论坛:https://forums./ Sponge的Github:https://github.com/SpongePowered/ Sponge的Maven Repo:https://repo./maven/ SpongeAPI下载:https://repo./maven/org/spongepowered/spongeapi/ 楼主的Sponge插件开发样例:http://www./thread-385074-1-1.html 有关于PaperSpigot的一切 介绍: PaperSpigot是一款基于Spigot服务端进一步优化修改而来的MineCraft原版服务端. 但相比Spigot服务端来说有着显著的性能提升 (Tiles几乎不再消耗CPU时间,爆炸算法优化,红石不再卡服,流水算法优化,区块压缩节约内存,优化Spigot自带的Anti X-ray等等) 并且有许多可自定义项目(船损坏依然掉落船,各种地形生成的开关等等)。 由于基于Spigot开发,也必须使用BuildTools来进行构建 https://ci./job/PaperSpigot/322/ 关于兼容性,几乎兼容所有Spigot插件/Bukkit插件 地图/插件导入- 经测试,直接替换同版本服务端即可 Tools的用法: Tools的用处: 1.能时刻获得最新的版本 2.不用担心服务端是否被动了手脚,都是官方的git直推的 使用方法: 首先请从官方的地址获取最新的Tools工具 https://ci./job/PaperSpigot-BuildTools/ 首先需要git的环境,请百度msysgit,并下载,下载后打开,并选择安装路径进行安装 然后需要创建一个bat脚本来运行这个tools,下面是一段示范
有关于Spout的一切 在正版mc玩家社区当中有几个非常著名的modpack一样的东西——tekkit、voxel、spoutcraft 跟其他modpack不一样的地方在于,这几个东西都有自己的启动器,并且都需要正版验证。 这几个东西在中文mc社区内我几乎完全没见有人讨论。不过,既然连正版minecraft的启动器都没有几个人用过,这样的modpack 启动器完全没有人气或者知名度也是正常的。 而在这里面,spoutcraft又是比较特殊的一个mod. 比起modpack,它更像是一个API,跟forge类似的一种东西——然而跟forge不同的是,spout能够被用来做mod的那部分API离完成永远遥遥无期(毕竟没有non-premium用户的关注和支持),这导致spout在实际上能提供的内容极其有限。 不过spout在多人游戏上有着一个非常大的优势:官方支持bukkit。不仅如此,如果在服务端安装了spout的mod,客户端不需要事先进行针对性配置——也就是说,使用同一个spoutcraft客户端你可以玩服务器提供的任何mod. SpoutAPI之所以工程量浩大迟迟无法完工,就是因为像bukkit一样,spout不是一个基于Notch-code的mod. Forge的开发者能够通过反编译官方版的minecraft,在其基础上增加各种各样的hook,然后统一提供一个接口给mod开发者。这样的开发没什么后顾之忧,并且可以步步为营加一个算一个随时可以发布。然而对于SpoutAPI,他要做的基本是把整个mc重新写一遍。有什么地方不对或者没完成,整个spout都没法发布。 所以forge的发布可以超勤快,而且还可以嫌sdk的工作太慢自己出fml,而spout却一直拖到连1.4都要发布了,才更新1.3.2推荐版。 也是同样的原因,spout可以从头到尾稳定地支持bukkit且没有版本兼容问题,而mcpc到现在也没把1.3.2的forge给port出来。 ———————————————————————————————————— 其实说起来,spout也并不是只有正版玩家可用,你甚至不需要破解就能使用spout. spoutlauncher在启动时无论你是否成功登陆,都会将整个spoutcraft的客户端更新下载下来,你只需要以某种方式启动这个客户端就行了。 具体方法不做提供。 spout官网:http://www./ 有关于优化的一切: server.properties中可以优化性能的参数: * view-distance,视距,默认值是10。含义是玩家的视距也就是加载的区块范围,默认是10个区块,视距10加载的区块是视距5的四倍。加载更多的区块则需要更多的内存和运算能力。推荐将这个值设置在5或者6,如果在线人数非常多可以设置为4。降低视距可以有效减少内存的占用,也能有效提高TPS,还可以减少宽带的使用量。这个参数对性能提升是立竿见影的。 * generate-structures,默认值是true。含义是生成和计算一些特殊的环境,例如女巫塔、村民到达数量生成铁傀儡等等。设置为false可以减少这些特殊环境生成和周期性检查带来的开销。这个参数很少被提起,但是对性能的提升有着不少的帮助。例如我的服务器生存子服有130人左右在线,TPS在17左右,关闭这个功能后提高到了19左右。需要彻底关闭这个参数,还需要在spigot.yml中把save-structure-info设置为false。并且关服后手动删除每个世界(例如world、world_nether、world_the_end)下的data文件夹里的Fortress.dat、Mineshaft.dat、Stronghold.dat、Temple.dat、Village.dat文件。 *network-compression-threshold,默认值是256。这个参数只有1.8的服务端才有,含义是网络封包压缩的阀值。例如设置为16,代表封包大于16才被压缩,设置成256代表着封包大于256才被压缩。设置的值越小则会压缩更多的封包,可以使得宽带使用减少,提高网络流畅程度,但是也会增加性能的开销。如果性能够用可以设置为128,使得更多通讯封包被压缩,一定程度上减少宽带使用率又不会带来太多的性能开销。设置的值太小,例如小于等于32会明显增加对能的开销,不建议这么做。 bukkit.yml中可以优化性能的参数: * spawn-limits,意思是限制实体的生成。这个并不是限制一个区块生成多少实体,而是针对一个人可以生成多少实体。例如monsters: 70,在线人数只有10个人,则最多只能生成700个怪物实体(僵尸、骷髅、蜘蛛等等),适当的设置这些参数可以减少实体对性能的影响。 * chunk-gc,控制着区块的回收,单位是Tick(1/20秒),period-in-ticks是指每过多少tick回收一次需要回收的区块,设置的太小会导致回收过于频繁而影响性能,设置的太大会导致需要回收的区块迟迟不回收使得内存占用过大。合理的数值一般是300~400。load-threshold是指达到多少需要回收的区块的时候才进行回收。例如设置成300,只有当需要回收的区块到达300以上才进行回收,合理的设置这个数值可以使得额外只多占用一丁点内存却使得区块回收的性能开销可以被无视。一般设置为300~600比较合适。*autosave,自动保存存档(地图、玩家数据等)的周期,单位是Tick(1/20秒),如果你使用了定时保存的插件,例如Saveit、AutoSave等等,你可以将他设置为0,即关闭这个功能。这样可以减少服务器瞬卡发生的可能 spigot.yml中可以优化性能的参数: * user-cache-size,1.7.5以上版本才有,其控制用户缓存的大小,如果你的服务器玩家很多,可以设置的更大一些,例如5000。 * save-user-cache-on-stop-only,1.7.5以上版本才有,其含义是是否只在服务器关闭/重启的时候保存用户缓存,设置为true可以提高性能。 * view-distance,同server.properties里的view-distance一样。 * chunks-per-tick,是指每tick(1/20秒)扫描计算多少区块,计算的内容是作物的生长。默认值是650,可以设置成350来提高性能。极端的情况可以设置成150,但是会使得作物生长的速度明显变慢。 * max-tick-time: (仅较新的版本有该参数,如1.8.3+)是指每tick,实体和tile最多可以用的时间(单位是毫秒),要明白其含义首先要解释什么是TPS,TPS的意思是每秒有多少tick,最大值是20,也就是每秒tick20次,每次50毫秒。如果运算量过大导致每tick计算了超过了50毫秒,那么TPS就会下降,一旦TPS低于15就会产生明显的卡顿。在这参数中tile代表着熔炉、箱子、牌子、骷髅头等等所能占用的最大时间,entity是指的实体,例如动物、怪物、村民、展示框、掉落物、船、矿车等等。设置tile和entity的总和小于等于30则能明显降低tile和entity对TPS的影响,而服务器运算资源几乎一大半都是由这两者消耗的。设置tile为10,entity为20比较合适,如果实体非常多,还可以设置tile为6,entity为24。 * anti-xray,服务端自带的反透视功能,俗称假矿。这个功能相比插件版的假矿来说,额外内存占用极少,少到可以忽略,并且矿物的变动计算是异步进行的,对TPS的影响很小。engine-mode为1则是隐藏矿物,engine-mode为2则是将非矿物也伪装成矿物,engine-mode设置为2的效果最好,但是会额外吃一定的性能和宽带,但是engine-mode设置为1无法防御矿追。具体如何权衡请自行决定。如果你不需要本功能,例如你是纯RPG服务器,可以直接把enabled设置为false关闭这个功能,提高性能。 nerf-spawner-mobs,简单来说就是让刷怪笼生成的怪物变成白痴,直观感受就是刷怪笼刷出的怪不能攻击了。默认为false,意思是不开启。设置为true可以获得一定的性能提升。 * entity-activation-range,这个参数是控制实体的活跃范围,例如monsters: 32意思是在玩家附近32格范围内的怪物才会活跃(被计算AI等),减少这个数值可以明显提升性能,但是设置得过小会使得游戏难度大幅降低。一般可以把monsters设置为24,animals设置为12,misc设置为2(misc主要是掉落物,设置2可以使得掉落物几乎不再卡服)。 entity-tracking-range,这个参数是控制实体的可见范围,这个参数不会影响性能,对宽带的影响也极小。不建议修改这个参数,但是适当的降低数值可以减少客户端的卡顿。 * random-light-updates,随机的光照更新,设置为true的话服务器会随机更新光照,并且在区块加载的第一个tick运算光照逻辑。设置为false可以提高不少性能。 * save-structure-info,在前面已经介绍了。 max-bulk-chunks,1.7.10+才有这个参数,意思是每个数据封包里塞多少个区块。适当提高这个数值,例如从10提高到15可以减少网络卡顿和客户端读取区块的速度,但是设置得过高会导致客户端崩溃。 * max-entity-collisions,实体碰撞箱的阀值。建议设置为2,可以减少密集卡服的问题。 * max-tnt-per-tick,每tick(1/20秒)最多计算多少TNT爆炸,设置为20可以显著防御TNT蹦服。 paper.yml中可以优化性能的参数: keep-spawn-loaded,spawn区块是否常驻内存,设置为false可以减少一定的内存占用和计算量 * tick-next-tick-list-cap,每tick最大的运算量,减少数值可以提高TPS,例如设置为8000 * tick-next-tick-list-cap-ignores-redstone,达到上面的运算阀值是否无视红石运算,设置为true可以显著减少红石对服务器性能的影响。 * optimize-explosions,是否开启爆炸算法优化,设置为true可以提升一定的服务器性能 * use-async-lighting,是否让光照的逻辑运算异步化,设置为true可以使得光照运算不再影响TPS,强烈推荐设置为true * cache-chunk-maps,是否缓存chunkmaps,可以让区块的数据更多得被复用,可以一定程度提高性能,推荐设置为true * fast-drain,快速液体流动运算,推荐设置为true,可以减少液体流动运算对服务器性能的影响 有关于TorchSpigot的一切 转载部分与http://www./forum.php?mod=viewthread&tid=610636 Torch(或TorchSpigot)是一款基于TacoSpigot并对其进行完善和提高的服务端核心 由于是分支,仍然能够兼容Spigot/Bukkit的插件(部分使用NMS的插件可能会无法使用) 与其他核心相比,Toch具有以下特性: 将更高版本上的各种更新重新应用到1.9.4/1.8.8上 更完善的功能,包括自动保存和内置反X-ray(by stonar)等功能(下文详细) 更优秀的性能,多线程处理 充分利用多核心CPU 内置了1.9-1.9.2版本的MC连接支持 包括实体、爆炸等均为多线程计算,防止卡顿 使用Torch有以下需求: 软件:Java 8或更高的版本(建议使用Oracle JDK,对性能提升可能有帮助 / 请尽量使用新一些的Java8) 硬件:推荐使用CPU核心数2+ 与Paperspigot对比压力测试 Spigot:大约1200只怪物时TPS开始跌落 Torch:大约8500只怪物时TPS开始跌落 所有核心都能明显利用 (非专业测试,测试结果仅供参考) 和图片似乎没有关系 测试环境:nc PaperSpigot:约4.5秒 Torch:约0.8秒 地图为新生成) |
|