客户端服务端

  • 课程大纲
  • 初识客户端与服务端
    • 服务端
    • 客户端
    • 客户端下载与启动
    • 客户端文件目录介绍
    • 服务端与启动
    • 服务端目录
    • 服务端文件详解
    • 常规游戏通信同步

课程大纲

常见服务端简介
服务端目录结构介绍
启动服务器游戏并进入
开发环境安装与搭建
BukiitApi介绍与基础
编写第一个插件
命令模块
监听器与事件
配置文件编写
Inventory界面与ItemStack
VexView界面编写介绍
BukkitRunnable类运行
数据库持久化存储

初识客户端与服务端

服务端

服务器端上是没有像客户端这样的美术资源的,它们只是在运行一些数据,然后向客户端发送一些数据代码,客户端接到数据后从本地机器调出相应的美术资源(各种动作和地图)并在客户端显示出来,由于服务器端没有美术资源,所以程序大小不会太大,但它本身是一个宠大的数据库,而且要响应成百上千个客户端发来的数据,所以对网络和机器性能要求较高。

客户端

Minecraft图形库使用的是lwjgl
客户端指的是是指与服务器相对应,为客户提供本地服务的程序。
除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,
需要与服务端互相配合运行

游戏客户端是将游戏中的很多资源储存起来的软件。
玩家通过客户端输入指令,客户端翻译成数据发送给服务器,
服务器处理完给出结果,然后再由客户端翻译成图形化表现出来告诉玩家。
可以说,客户端是一个玩家和服务器之间中介。

客户端下载与启动

客户端官方网站:https://mcversions.net/

我们使用一个国产启动器:
https://hmcl.huangyuhui.net/download

客户端文件目录介绍


assets 资源
config forge的配置文件
lib 依赖库
mods 存放需要加载mod
resourcepacks 材质贴图
shaderpacks 光影包
versions 版本存储
options.txt 服务器设置
optionsof.txt高清修复设置
servers.dat 服务器存储

服务端与启动

服务端整合地址:https://www.kancloud.cn/yufengqaq888/minecraft/1648214


创建启动bat来启动jar包

启动参数
java -Xmx%ZuiDaNeiCun% -Xms%ZuiXiaoNeiCun% -XX:+AggressiveOpts -jar %Core%

Xmx最大内存 Xms最小内存 AggressiveOpts加快编译

批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat 。目前比较常见的批处理包含两类:DOS批处理和PS批处理。PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本;而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本。更复杂的情况,需要使用if、for、goto等命令控制程式的运行过程,如同C、Basic等高级语言一样。如果需要实现更复杂的应用,利用外部程式是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行软件,任何当前系统下可运行的程序都可以放在批处理文件中运行。

方法:新建一个启动.text文件,
输入如下内容后:

@echo off:Sset Core=spigot-1.12.2.jar
:;请勿乱动此项,服务器核心设置for /f "tokens=1,* delims==" %%a in (
'findstr "最大内存=" "设置.txt"'
) do (
set ZuiDaNeiCun=%%b
)for /f "tokens=1,* delims==" %%a in (
'findstr "最小内存=" "设置.txt"'
) do (
set ZuiXiaoNeiCun=%%b
)for /f "tokens=1,* delims==" %%a in (
'findstr "在服务器关闭后是否重启=" "设置.txt"'
) do (
set R=%%b
)title MCBBS@AzureHanChen-%Core%-最大内存%ZuiDaNeiCun%-最小内存%ZuiXiaoNeiCun%
java -Xmx%ZuiDaNeiCun% -Xms%ZuiXiaoNeiCun% -XX:+AggressiveOpts -jar %Core%if "%R%"=="不重启" goto :Cping 127.0.0.1 -n %R% >nul
goto :S:C
echo 退出_%R%
exit

将其扩展名改为.bat。
并将其放置于spigot目录下:

服务端目录

以下文件基于 PaperSpigot 1.12.2
最新版进行讲解

服务端文件详解

server.properties文件详解.
https://minecraft-zh.gamepedia.com/index.php?title=Server.properties&variant=zh

bukkit.yml 文件讲解 .
https://www.mcbbs.net/thread-786082-1-1.html

常规游戏通信同步


状态同步:如魔兽世界 冒险岛 (可能会存在 对方看到的和你看的到不太一样,过一会儿又同步了)
帧同步:英雄联盟 我的世界 穿越火线 (早起魔兽争霸 如果一个玩家掉线,其他玩家都会等待)

基于Java的Minecraft游戏后端自定义插件 01客户端服务端相关推荐

  1. 基于Java的Minecraft游戏后端自定义插件 的Java实践项目整理

    Minecraft_Plugin 1.项目概述 2.系统设计 3.功能模块成果展示 4.个人总结 1.项目概述 1.1 项目简介 小组准备编写一个具有武器战斗,道具收集.互动社交和任务悬赏四大系统的聚 ...

  2. 基于Java的Minecraft游戏后端自定义插件 05事件监听器

    事件监听器 内容简介 事件监听器 内容简介 事件监听器 文档中org.bukkit.event都是事件包 https://www.youtube.com/watch?v=PWQNsqwD-AY. pu ...

  3. 基于Java的Minecraft游戏后端自定义插件 04注册命令与处理

    注册命令与处理 内容简介 如何注册命令 权限设置 plugin.yml权限 luckpermission 内容简介 如何注册命令(理解) 如何重写JavaPlugin中的onCommand方法来做到命 ...

  4. 基于Java的Minecraft游戏后端自定义插件 06绘制简单粒子特效与BukkitRunable定时器

    绘制简单粒子特效与BukkitRunable定时器 粒子特效 多线程BukkitRunable 粒子特效 利用定时器来设定特效出现是否延迟,以及周期频率 奖励特效一: VexLighting 在玩家处 ...

  5. 基于java的雷电游戏系统设计与实现(项目报告+答辩PPT+源代码+部署视频)

    项目报告 基于Java的雷电游戏 电脑游戏,是指在计算机上能够运转的游戏软件.这种软件具有较强的娱乐性.电脑游戏的创新和发展与硬件.软件的发展紧密相关.它能够给玩家提供一个虚拟的环境,使游戏带给了人们 ...

  6. 基于Java的雷电游戏设计(含源文件)

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye 基于Java的雷电游戏 摘   要    电脑游戏,是指在计算机上能够运转的游戏软件.这种软件具 ...

  7. 基于java的俄罗斯方块游戏系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)

    基于Java的俄罗斯方块游戏的设计与实现 俄罗斯方块是一款风靡全球,从一开始到现在都一直经久不衰的电脑.手机.掌上游戏机产品,是一款游戏规则简单,但又不缺乏乐趣的简单经典小游戏,上手容易,适用范围广泛 ...

  8. java拼图游戏设计文档_基于JAVA的拼图游戏的设计与实现(含录像)

    基于JAVA的拼图游戏的设计与实现(含录像)(任务书,开题报告,中期检查表,外文翻译,毕业论文15500字,程序代码,答辩PPT,答辩视频录像) 摘  要 在我们日常生活中,有很多的益智类游戏,如七巧 ...

  9. 基于JAVA网页小游戏交流论坛计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA网页小游戏交流论坛计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA网页小游戏交流论坛计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开 ...

最新文章

  1. fast system call 快速系统调用
  2. Majority Element
  3. 前端笔记-thymeleaf获取及回显select数据(combox)
  4. 【京东科技】视觉基础研究部研究型实习生招聘
  5. PHP截取中文字符串的方法
  6. 高等代数(第三版)北大(参考答案)
  7. ansys经典界面分析工字钢_ANSYS教程,ANSYS经典界面与WORKBENCH的区别
  8. gom引擎没有和账号服务器连接,GOM引擎和GEE引擎的传奇版本配置登录界面黑屏的原因和解决办法...
  9. 极致浪漫: 你生日那天的宇宙是什么样子的?
  10. FPGA实现贪吃蛇小游戏
  11. mysql undo表空间_MySQL 8.0.2起UNDO表空间管理更灵活
  12. phaser3场景中的图片缩放scale
  13. PS新手淘宝美工常见问题-主图和详情尺寸(一)
  14. 美标线材AWG能通过电流到底多大?
  15. maven java_home
  16. 全球地名中英文对照表(Q-R)
  17. 树莓派(十三)——使用flask创建视频流媒体服务器
  18. 花点时间顺顺Git(上)
  19. 天源财富:突破“极限”!我科学家发现迄今最高能量光子
  20. w3wp.exe - 应用程序错误 应用程序发生异常

热门文章

  1. 安装JDK和tomcat环境变量配置
  2. wps公式如何加序号_Excel函数公式,批量填充方法大全
  3. 【论文阅读】如何给模型加入先验知识
  4. 计量经济学计算机输出结果,计量经济学作业结果解析A.doc
  5. 提前揭秘CJ八大看点
  6. OpenCV-Python投影透视变换函数getPerspectiveTransform及warpPerspective详解
  7. 如何在Visio里面添加“左”箭头
  8. 编程珠玑第二版 ---- 第一章个人习题集(Java)
  9. 研究 | CT图像迭代重建算法研究进展
  10. 环信IM即时通讯的简单集成