minecraft吧 关注:2,542,130贴子:31,789,431

【不定时更新~教程】从玩家到技术

取消只看楼主收藏回复

嘛…如题啦,技术的教程。我是cy。
看到自己服务器的技术有各种权限很羡慕有木有?看到某个很好的服务器表示不收op很眼馋有木有?这时候,minecraft服务器相关技术就有可能是你的敲门砖。
看到没有好玩的服务器很想自己开一个有木有?拉了一群机油想自己创建一个服务器有木有?这个时候,技术是必不可少的。如果想做好。
这篇教程为想开服务器的腐竹,想成为技术的普通玩家,想成为精英玩家的普通玩家准备哦。
如果有不好的地方,或者是不完整的地方,欢迎提出。
minecraft不是一个对新手很友好的游戏,讲解中会不可避免的提到java语言,和相关硬件。俗话说,想学计算机先玩游戏。minecraft可能就是你开始学计算机,或者踏入黑客的台阶。本教程将会由浅到深,欢迎补充。
请勿将此教程用于不正当用途。原创,转载需要许可。


来自iPhone客户端1楼2015-03-25 11:38回复
    爪机,更新速度略慢。不过不会停的啦。


    来自iPhone客户端2楼2015-03-25 11:38
    收起回复
      首先,从客户端讲起。玩家通过客户端链接到服务器的域名,或者ip来进行游戏。原则上来讲,不建议使用ip直连,建议使用域名。
      启动客户端的时候,需要至少3个参数。java路径,内存大小以及玩家id。java路径不能选择开发包,暂时也不能使用java8。理论上来说,只能使用最大物理内存一半的内存,32位java只能使用最大1G。比如说内存8G,将能够使用4G。但是,实际上不能使用那么多,能使用1G时只能填写900以下,2G只能填写1900以下,依此类推。


      来自iPhone客户端8楼2015-03-25 11:45
      收起回复
        第一种方法违反了mojang最终用户协议(简称),因此不建议,所以不予以解释。第二种方法,在游戏启动的时候,将会读取所有mods内的压缩文件,包括但不限于jar文件,zip文件,rar文件。一般的mod都属于这三种情况。
        当看见非jar的文件时,建议进行打开操作。部分mod是多个分支mod进行捆绑。
        绝大多数mod需要fml支持。
        部分mod可能有其他的需求前置,mcbbs的搬运贴及官网将会有提示。


        来自iPhone客户端10楼2015-03-25 11:57
        回复
          整合客户端很简单,将所有需要的mod成功加载,并正常游戏即可。
          客户端中还有config文件夹,以后将进行讲解。
          客户端暂时完毕。以后将会进行更深层的讨论。
          下面讲服务器。


          来自iPhone客户端11楼2015-03-25 12:03
          回复
            服务端的主体是一个jar文件,虽然是单独的jar应用程序,但是并不能双击打开。需要用一个bat文件,或者自己在cmd中运行。部分整合可能有图形界面。
            目前主流的服务端类型(非正版)有spingot,mcpc+(caudron)以及bukkit。
            mcpc+是能装mod的服务端,也支持插件,但是对mod和插件的支持均不佳;bukkit是官方版本,对插件的支持是最佳的,能够跨版本运行大多数插件,理论上向下无限兼容,但是不支持mod;spingot也是二次制作版本,内嵌了部分反作弊功能,以及对服务器的防护措施。但是插件的部分功能不支持,因此对插件的支持不太好。


            来自iPhone客户端14楼2015-03-25 12:14
            收起回复
              上述三种客户端都有plugins文件夹,里面安装插件。插件的安装只有一种方法…那就是直接拖进去。插件能够对玩家动作进行捕获,然后反馈信息,或对玩家进行操作。
              插件加载之后,绝大多数都会在plugins文件夹下生成和插件名字一样的文件夹,里面会放插件配置和信息。


              来自iPhone客户端15楼2015-03-25 12:18
              回复
                插件能够提供指令,以对游戏提供支持。例如,tpa,res之类。插件相关指令,请见插件搬运贴或相关“指令大全”。吃饭去啦。吃完了继续。


                来自iPhone客户端17楼2015-03-25 12:24
                回复
                  继续。插件的配置对绝大多数插件来说,都有很大的作用,甚至是根本上改变游戏方式。插件能够为游戏提供很大的趣味性,某些独一无二的方式甚至是mod也无法代替的。但是,mod能够提供新的物品,使游戏更加扩展。
                  某些mod也能提供指令。
                  现在,对上述内容包含的方法进行总结。
                  mod拖入客户端或者服务端的mods文件夹中。
                  mod可能需要前置。
                  插件放到服务端的plugins文件夹中。
                  插件的配置文件一般在plugins文件夹下的同名文件夹中。
                  以上是常识,足以在最低级的小服务器当个技术。机油服务器。
                  也是腐竹的必备知识。


                  来自iPhone客户端27楼2015-03-25 12:49
                  回复
                    需要注意的是,插件和mod都会占用服务器资源。请斟酌服务器资源和游戏性的平衡,当直接获益大于潜在崩服风险时才能添加。
                    掌握以上内容,证明你已经有独立开服务器的能力。
                    嘛…我还是提出一个技术的水平参考好啦。
                    仅供参考。如果认为不错,可推广。
                    基础技术,拥有独立开启服务器以及客户端整合,服务端整合的能力,并在硬件条件不限的情况下维持一个服务器3小时的开启状态。
                    低级技术,在基础技术的前提下知道权限组的使用方法,知道更改插件配置的方法,知道主流插件的相关命令,无错误、无障碍地安装相互之间无冲突的插件。杜绝小学生问题。
                    中级技术,在初级技术的基础上,能解决大多数报错并知道其意思,精通yaml语法,能够用各种渠道找到自己想要的插件。同时会架设bc,并将多个服务端成功连接起来,完全掌握chestcommands一类较复杂插件,对广域网/局域网有初步认知,能用个人计算机开启minecraft服务器并让其他人成功加入游戏。
                    高级技术,对java有初步了解,能够写简单的程序,懂得初级服务器攻防等,有能力通过思科网络工程师认证。同时对服务器有深刻地了解,有能力让无性能缺陷的插件之间维持平衡,实现0报错,能分析红石原理。
                    特级技术,有能力独立编写小型插件以实现基础功能,对服务器有自己的见解,工作经历超过20个服务器。同时,会自己编写启动器。有能力在半年内让服务器最大在线人数达到50。
                    专家级技术,能用java仿制minecraft,懂得OpenGL等…略。


                    来自iPhone客户端30楼2015-03-25 13:08
                    收起回复
                      当玩家有权限的时候才能使用相关功能。这里以groupmanager插件为例。
                      过会儿更。


                      来自iPhone客户端32楼2015-03-25 13:57
                      回复
                        继续更新。通过使用权限管理插件给玩家相应的权限,或者去掉相应的权限,那么就能够限定玩家的动作。同时讨论groupmanager插件。初学者建议使用该插件。
                        它提供了-权限和+权限功能,例如我给一个玩家了essentials.*权限,但是我不希望他使用warp命令。于是我给他-essentials.warp.*权限。
                        但是我又想让他能列出传送点,于是我给他+essentials.list权限。
                        具体命令请自行查找。


                        来自iPhone客户端43楼2015-03-26 08:33
                        回复
                          现在,开始讲解相关配置。在minecraft中,配置文件至少有两种,对应2种语法。第一种是插件配置的yaml语法,第二种就是server.properties和mod配置文件的cfg语法。
                          首先,我们看看yaml语法。
                          yaml通过空格数量来确定归属和优先级。读取时,空格少的等级越高,反之越低。例如:
                          default:
                          mobs:
                          creeper: 1
                          players:
                          - cyddddd
                          - abcdefg
                          items:
                          iventory: 27:64, 28:64,


                          来自iPhone客户端44楼2015-03-26 08:41
                          回复
                            这种东西讲解起来简直就是хорошо…度娘吞了空格(╯°□°)╯( ┻━┻
                            嘛…
                            这里说的是大部分情况。
                            首先,-表列举,在列举对象和-之间必须有空格。
                            在冒号后跟的数个对象之间,一般使用逗号分割,其中逗号后需要空一格。
                            一般以4个空格为1个等级。当然,只要同级的项目空格数量相同就可以。但是为了可读性和美观性,还是建议使用4个空格为1级。
                            例如,0级0个空格,1级4个空格,2级8个空格,3级12个空格。


                            来自iPhone客户端45楼2015-03-26 08:47
                            收起回复
                              -一般代替2个空格,以列举。
                              但是更为喜闻乐见的是,配置是分类型的。而且作者还不告诉你。
                              好在,作者都会给出配置方法。默认配置也能够给人很多帮助。
                              一般来讲,有5种配置参数的类型。
                              第一种,数值。
                              这种类型最简单,只需要直接写上去。不需要加引号。
                              第二种,字符串。这种类型需要单引号,其余的和第一种一样。一般用于语言文件。
                              第三种,布尔型。就是true和false,是否两种。配置文件里最常见,


                              来自iPhone客户端46楼2015-03-26 08:54
                              回复