首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一条龙服务: 开服从入门到精通(Minecraft-Server-Starting-Guide)

VanillaForge 让我们把视线调转回刚开始的 Vanilla,如果说 Bukkit 让修改服务端变成了可能,那么就一定有一个东西能够让修改客户端变为可能,而Forge就是。...历经多年的打磨,其已经非常稳定,同时因为 1.12.2 版本从技术上讲依然是一个稳定的年轻版本,因此使用 CatServer 开 Mod 服或许是你的不二之选 又一个题外话:如果你刚入服主圈,那么你可能不知道...,由于作为第一个支持高版本的 BukkitAPI+ForgeAPI 服务端,CatServer 有过一段艰苦,黑暗的发展历史,“抄袭风波”到收购风波,付费风波再到“后门风波”,CatServer 曾有过一段饱受诟病的日子...开启后才能够使用命令方块。 “`max-players=20“` 表示最大玩家数,默认为 20。表示了该服务器能够容纳的同时在线玩家数。...四、插件和模组的下载与使用 对于 Bukkit 系服务端 下载插件 您可前往以下网站获取兼容Bukkit系服务端的插件 BukkitDev(英文) ——Bukkit 论坛下属的一个插件发布平台,很多老牌

3.4K40

我的世界Java版开服教程(Ubuntu)

纯插件核心 Minecraft纯MOD核心 Minecraft插件MOD混合核心 插件是一些能帮助服主完成管理工作的额外组件,它不需要再客户端安装 相比于插件,MOD则是需要在服务端和客户端同时添加才能够使用...version # 创建一个空目录 (cat是目录名字,可以随意) mkdir /home/ubuntu/cat # 进入目录 cd /home/ubuntu/cat # 下载开服包,打开catserver官网,获取下载链接...allow-nether=true #是否开启地狱世界(关闭后删除将不会生成地狱世界) level-name=world #主世界名称 enable-query=false #是否开启GameSpy4协议服务器监听器,用于获取服务器信息...#-1 – 永久禁用数据包压缩#0 – 压缩全部数据包#(建议在64-1500) max-build-height=256 #玩家在游戏中能够建造的最大高度 spawn-npcs=true #决定是否生成村民...├─banned-players.json //存放了被 ban ID 玩家的 UUID 及游戏名称等相关信息 ├─bukkit.yml //由 Bukkit 派生得到的服务端都有的文件。

5.3K21
您找到你想要的搜索结果了吗?
是的
没有找到

Bukkit NMS 开发实践 —— 创建你自己的自定义实体(适用于 1.16.3 – 1.16.5 版本)

本教程旨在教授 Bukkit 开发者以 NMS 使用方法,拓展 Bukkit 开发者的开发视野。...要想使用 NMS,您必须手动导入编译好的 CraftBukkit/Spigot 服务端核心,这样才能获取其中内置的 NMS。...但是,我们能够通过继承原版存在的实体,创建一个新的实体类型,为这个新的实体类型指定一些交互。本例中,我们将会通过创建一个会在夜间燃烧、不做任何交互、拥有 Boss 血条的巨人僵尸来演示这一过程。...当然,我们可以通过以下代码实现 Bukkit World 和 NMS World 的互转: //Bukkit World to NMS World org.bukkit.World bukkitWorld...添加 Boss 血条大概需要有三步操作: 当玩家进入追踪视野时显示 Boss 血条 当玩家离开追踪视野时隐藏 Boss 血条 当怪物受到攻击时令 Boss 血条相应减少血量 首先,我们需要定义一个 Boss

1K20

BukkitNMS开发中蕴含的混淆技术 发布于

使用NMS创建获取玩家数据的接口 使用@ServletMapping注解并搭配Mybatis来实现一个获取在线或离线玩家数据的接口。其中离线玩家数据获取的方法是在玩家离开游戏事件中保存玩家数据。...\"error\": \"Player name must be provided in the URL\"}"); return; } // 路径信息中获取玩家名称...String playerName = pathInfo.substring(1); // 尝试获取在线玩家 Player player = Bukkit.getPlayer...resp.getWriter().write(onlinePlayer.toJSONString()); } else { // 尝试获取离线玩家...NMS类通常位于org.bukkit.craftbukkit.版本号包中,它们都是用来处理Minecraft-Server底层逻辑的,包括但不局限于:获取、修改玩家NBT数据;获取、修改物品NBT数据;

35180

Java高级编程:反射的应用与注解式开发

基本概念回顾 详细的请看另一篇笔记:Java基础知识:注解与反射 什么是反射 Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性...有了Java类后就可以毫无限制地修改JVM内存,甚至可以获取私有类的私有方法。这也使得Java的游戏外挂大肆兴起。...JDK5开始,Java增加对元数据的支持,也就是注解,注解与注释是有一定区别的,可以把注解理解为代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。...不难看出,这里对获取注解只做了一次 !...= null) { try { //这里将所有监听器注入到BukkitBukkit.getPluginManager

53840

Minecraft反代(跨服)服务端搭建入门到精通(For BungeeCord & Velocity)

服务器根据客户端的请求,其关系的一组或多组后端服务器上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP地址,而不知道在代理服务器后面的服务器集群的存在。...有关跨服的常见误区 跨服端是一个MC游戏逻辑服务端,可以使用跨服端直接开服让玩家进服游戏 这是个常见的误区,但实际上跨服端仅仅只是一个反代软件,他能够指引玩家连接到下游的指定逻辑服务端,但本身不具有任何游玩功能...一般情况下,没有必要向玩家暴露下游服务端的连接地址。只需保证跨服端能够连接到下游服务端,然后跨服端便会充当中间人,传递玩家与下游服务端之间的数据交换。...player_limit 代表整个 BungeeCord 实例能够接受的最大玩家数量,默认值为-1,即不限数量。调整为正整数即启用最大玩家数量限制。...[xxx].address代表目标下游服务器的 IP 地址和端口,请填写 BungeeCord 所在的网络环境能够连接到的地址(包括本地地址和内网地址),无需保证玩家可以连接。 server.

4K30

大人,时代变了!使用 Java 16 或 Kotlin 更好的进行插件或模组开发

对于这个最新更改,人们别无选择,只能慢慢接受 —— 对于玩家和服主来说,可能只是卸载一个旧版本,安装一个新版本的事情。但对于开发者来说,很显然我们需要知道更多。...本文的存在就是这个意义,我们将介绍 Java 8 开始到 Java 16 重要的开发内容更新,并附带这些更新在以 Java 8 为运行时的 Kotlin 是如何处理的,以帮助开发者们能够更快的适应和享受新的...什么样的开发者适合切换到 Java 16 对于 Minecraft 开发者而言,由于兼容性,很显然并不是所有的开发者都能够切换到 Java 16 进行开发。...以普遍理性而言,这些开发者应当可以切换到 Java 16 进行开发: 所有面向 Minecraft 1.17 或更高版本进行开发的模组/插件开发者 面向 Minecraft 1.13+ 的 Bukkit...为什么不现在就切换到 Java 16,来体验更高效的开发呢? (完)

54120

记ipv6 MineCraft 开服

IPV6测试 随后打开 Win + R 输入 CMD 随后输入 POWERSHELL ipconfig 没有检测到ipv6也不要灰心,你可能是路由器的ipv6没有开启(为什么不是光猫?...确定地图类型DEFAULT - 默认的标准地图FLAT - 超平坦LARGEBIOMES - 巨型生物群系(仅在12w19a之后,或正式版1.3之后可用) max-build-height 整数 256 玩家在游戏中能够建造的最大高度...注意:这个链接必须直接连到事实的材质包ZIP文件,而且虽然材质包可以是高清的,服务器并不会对玩家服务端进行自动高清修补。所以如果你想让大多数玩家能够使用该材质包的话,请使用标准16x16清晰度。...服务器会与Minecraft的账户数据库对比检查连入玩家。如果你的服务器并未与Internet连接,则将这个值设为false,然而这样的话破坏者也能够使用任意假账户登录服务器。...true - white-list.txt文件加载白名单。

2.4K30

游戏开发初级之游戏对象和组件关系(Unity3D)

在上面的例子中,生命、技能、运动、AI和GUI可能是脚本。这就提出了一个问题:为什么我们不创建一个Monster脚本并将其全部放入其中,而不是将所有内容分解为组件呢? 嗯,可以这样做。...GameObject 添加三维模型Conponents 增加生命值Components 增加技能Components 增加一个移动Components 加几个音乐Components 添加用来显示名字GUI...好消息:有一个很简单的方法叫做GetComponent..下面是如何获取游戏对象: GetComponent() 注:这意味着“获取Health类型的组件”。...例如,我们如何玩家的脚本中获取怪物的生命值? 我们的GetComponent函数仅适用于同游戏对象,所以我们需要想出别的办法。 别担心,这也很容易。...// then do something } } 它将被附加到玩家的游戏对象: 所以问题是,我们如何玩家的Test脚本中获取怪物的生命值? 这也很容易。

1K20

《动物森友会》究竟如何通过奖励设计让人喜喜爱爱?

希望通过这篇文章,对“为什么玩家乐于沉迷这个游戏”这个问题有些新的观点输入。...R部分讲起: 几乎每个游戏中都会对玩家的行为设计相应的反馈结果,这里就让我们一起来看看动森有什么特别: 1....那为什么还有玩家仍爱上于这些行为?这就需要提到心理学中对奖励性质的划分:按照奖励的表现形式区分为外物奖励和内在奖励。...这些任务有几个特点: 完成条件明确,且普遍很低,比如卖5个水果,砍10下树等等; 永不间断,即你完成一个任务领取奖励之后,下一个任务马上就派发; 奖励一般但相对重要:这些任务是获取里程唯二能持续获取里程的途径之一...“下一次 下一次 下一次就该有了” 有了“固定频率的【S-R】强化”,就肯定还有不固定频率的【S-R】,即玩家知道某个行为肯定能够导致某个结果,但并不知道反馈会在哪一次行为之后出现。

47910

一个关于游戏AI不太野的野望

作者:jingwenyang, 腾讯高级算法工程师 | 导语   一种机器学习出发的游戏设计新角度 ? 我们玩游戏时究竟在玩什么?...一种机器学习视角 但是怎么去量化的描述心流,从而指导游戏的开发,优化玩家的体验是一件非常难办的事情。为什么难?因为 我们不知道对用户设定多高的挑战是合适的?...我们不知道用户需要付出多少努力才能达到所需的高技能? 通常我们可以为玩家适配不同的AI(在剧情类游戏中是BOSS的难度、在竞技类是陪玩AI的强度)来调整玩家的游戏体验。...而更为棘手的是,玩家的反馈并不像常见的推荐场景中那么容易获取。在游戏中的即时反馈往往会非常稀疏,比赛终局的反馈在对控制模型的决策进行分配的时候,就会变得不那么准确。...之前大家可能没有考虑过从推荐的角度去思考游戏设计,但是我相信这个视角能够给游戏设计带来一些改变,能够改变玩家体验的元素应该还有很多,不会仅限于AI部分。

35220

理解Unity3D中的四种坐标体系

这四种坐标系可以说没有一个是完全相同的,各个坐标系所代表的意思也可以字面含义中理解出来,它们之间都是可以相互转换的,不过 GUI 坐标体系除外,它比较特殊,也相对来说是最简单的,那么我们就从最简单的说起吧...虽然重要,其实屏幕坐标系处理起来很简单直接, Input.mousePosition 获取的就是鼠标在屏幕中的位置坐标。...如何通过宽高比获取摄像机视口尺寸呢?...这个在游戏场景中应用的还是比较多的,比如你有这么个需求:两个玩家移动对战,你的相机要把两个移动的玩家随时放置在屏幕显示中。 ? 4. 世界 World 三维坐标系 最后,世界坐标系!...transform 值,这个时候我们就需要稍微动点脑子了,当然如何转变 Unity 已经帮我们预制好相应的函数方法了,你只要把父物体当做世界,子物体当做世界中的物体,使用这些函数,换一下坐标就和处理绝对坐标一样了,不知道大家理解没有

4.9K32

实战贴:开源GUI STemWin在小熊派上的移植(显示很漂亮、很细腻,棒!)

开篇前来一首歌放松一下,推荐简弘亦的新歌:忽如一面,妥妥的歌唱实力派,可是不知道为啥感觉一直不温不火,我是听了他的不染喜欢上的,好了,进入正题。...现在市面上有很多成熟的GUI,老早前就听说过STemWin了,一直想学习怎么用,但一直又觉得没地方可用,现在手上平台很多(人送外号:最不缺钱且烧钱的玩家 ? ),只要有时间,还是要把它搞起来!...()函数,为什么呢?...为什么呢?我们打开这个配置文件看看就清楚了: ? 注意:这个配置文件里填的是Software目录的绝对路径,但这个软件没那么智能,换个地方打开GUIBuilder它还不更新!!!...4、案例下载 公众号后台回复:STemWin 即可获取本节案例的下载链接。

3K20

谁来结束GUI程序-关于任务栏的思考

一直纳闷,Windows的手机和平板总是看起来别别扭扭的,也不知道哪里出了问题。后来终于找到了这件事和任务栏的关联。...---- 在手机,平板这种屏幕有限,且用户关注单一全屏UI的环境下,根本就没有任务栏存在的必要,推而广之,其实就算在Windows XP上,也不需要有任务栏,那为什么要有任务栏?...我假设任务栏是微软开始设计出来的。...现在的问题是,为什么要暂存一个GUI窗口,直接结束掉这个程序不行吗?答案看起来很简单,因为有很多的状态需要尚未保存和同步,比如用户可能在记事本上输入了一句不完整的话等等。...没错,Android等手机,平板操作系统就是这么控制GUI窗口的,对于这些手机操作系统而言,一个小小的屏幕上往往只有一个程序在获取输入和输出,以上的特征更加明显,那么后台的程序便可以随时持久化后被系统结束掉

74040

在家期间为了 GitHub 上下点东西,我太难了...

1 为什么慢? 为什么慢呢?按照此前的说法,就是 GitHub 的 CDN 被网络代理商给屏蔽了。什么是 CDN 呢?...用户获取数据时,不需要直接源站获取,通过 CDN 对于数据的分发,用户可以从一个较优的服务器获取数据,从而达到快速访问,并减少源站负载压力的目的。 ? 至于为什么屏蔽,咱也不敢多问。 ?...NO.3 Free Download Manager 好了我又不知道哪听说,用 Free Download Manager 下载可以实现全速下载。二话不说我又去安装试用了一下: ? ?...不知道这是什么原理,喜欢自己动手丰衣足食的小编还是试了试,结果: ? ??? 好吧,fine!可能是我太菜了,看不懂人话,我先回去考过人语 6 级再说。 ?...NO.5 高端玩家 正所谓各路大神各显神通,这点小小的困难有可能难倒我们这些小喽喽,但是在高端玩家面前简直不值得一提,比如: ? 再比如: ? 我只能说:散了吧,要服务器的…… ?

1.8K41

AI如何更好地协助人类,我们美食游戏中得到了一些启发

但如果你事先和爱丽丝并没有沟通,她不知道你的想法,那结果就会是另外一个样子:你站在锅前等爱丽丝给你抛来洋葱,但她并没有理你,而只是默默的把洋葱沿路指定位置搬到锅里,你给了她一个眼神,但她并没有体会到,...,这意味着它模型需要获取人类玩家的游戏数据,然而,如果用模仿学习的方式去获取数据集会导致我们将人类玩家的欠优化状态直接转移给模型,但事实上,我们的目的是让模型意识到人类的欠优化属性并学会处理这个问题。...我们同样记述了两个自我博弈型(SP + SP)的代理的表现,大致将其视作最优团队表现的上限,以及自我博弈型和能够获取测试时人类模型的(PPOHproxy + Hproxy)人类觉察型代理的表现,大致将其视作当代理必须要和测试时人类搭档玩游戏时的最优表现的上限...结果的定性分析 为什么意识模型在这个任务中的表现更好?一个可能的原因是它可以根据人类玩家采取的不同策略来对自身行为进行调整。...比起用大量的人类玩家的游戏数据来尝试了解人类玩家,我们为什么不能尝试训练我们的模型以期它能适应很多不同的对手,包括人类玩家

34320

Unity基础教程系列(三)——复用对象(Object Pools)

既然我们的DestroyShape方法是有效的,那么当玩家按下destroy键时就可以在Update中调用它。 ? 1.3 保持列表正确 我们现在能够创建和销毁对象。...相反,我们将使它成为游戏本身的一部分,这样玩家就可以根据自己的喜好改变速度。 2.1 GUI 为了控制创建速度,我们将向场景添加图形用户界面(GUI)。...3.4 池中检索一个对象 实例化形状并设置其ID的现有代码现在应该只在不回收时使用。否则,应该池中检索实例。要实现这一点,必须在决定如何获取实例之前声明实例变量。 ?...启用回收功能后,我们必须正确的池中提取实例。我们可以使用形状ID作为池索引。然后该池中获取一个元素,然后将其激活。这是通过在其游戏对象上调用SetActive方法(以true作为参数)来完成的。...为什么使用列表而不是堆栈? 因为列表可以在播放模式下重新编译,而堆栈则不能。Unity不会序列化堆栈。 你可以使用堆栈代替,但是列表工作很好。

2.7K10

如何用python制作3d游戏_【教程】12个步骤让你快速学会制作3D游戏

如果你关闭它的话,物体就像幽灵一样能够穿过其他的物体。(在视频中你可以看到当玩家的collider组件部分被关掉时会发生什么。)...步骤9:让相机跟随玩家移动 我们希望在屏幕上,相机能够随着玩家的移动而移动,为此我们要在Inspector(检查面板)的Main Camera(主摄像头)添加新的脚本组件并命名为“cameraMovement...你应该能够通过使用玩家附近的箭头键来使之移动,与此同时相机视角也会按照你的移动而移动。 最后,保存场景和项目 步骤10:制作一些items 创建一个新的GameObject.(游戏对象)。...步骤11:让玩家收集items并显示得分 Inspector panel(检查面板)中选择Playergame object打开玩家的移动脚本然后对脚本进行修改修Inspector panel(检查面板...这样做是为了防止你的,本质上说这样做是在使重力失效。 使用Hierarchy(层次结构)中的“Create”选项为countText创建一个新的GUI Text(图形用户界面文本)。

3.2K10
领券