本帖最后由 +倒霉の忍者+ 于 2013-4-27 23:11 编辑
(本教程借用了“
【服务器教程】Craftbukkit !用Craftbukkit 架设自己的beta 1.3特色服务器! ” 中的部分内容,其余均为从官网翻译或由本人(+倒霉の忍者+)撰写)
(
* 转载请注明作者:+倒霉の忍者+)
建服讨论群:已关闭,好吧,要想建好,精读教程
注:本帖已停止更新
建服准备
- JRE(Java Runtime Environment - Java运行环境)
如你所知,客户端是JAVA程序,服务器也是JAVA程序。建服涉及到有关启动java程序的命令,下面推荐安装版,因为绿色版不注册表无法被系统直接使用。下载:你有2个选择,可以去官网先下载下载器,然后再进行安装。或者去各网站下载已经下好的安装程序,然后安装。
从官网下载 1.登录JAVA中文网站点击页面中间的红色“免费 JAVA 下载”按钮,然后再点击红色“同意并开始免费下载”按钮下载下载器。
2.打开下载器开始下载安装程序,下载完毕后将会自动进行安装。
3.中文版的安装向导,你可以手动选择安装路径,然后一路点下去。
4.等待安装完毕。 |
服务器相关问题可以参考:
http://www.mcbbs.net/thread-67484-1-1.html
注意:- 关于游戏内容:
- 如果你没单机过,请先单机一段时间,会制作所有物品,了解所有生物,去过三界,死过N次,再想联机。
- 如果你没联机过,请先联机一段时间后再想建服,连聊天按哪个键的人都不知道仍想要建服的人你伤不起啊(更不要说没玩过MC的人了……)
- 关于个人能力:
- 建服要求至少有高中毕业英语成绩优良的语言能力,以及一定的JAVA理解能力,因为这个软件是外国用JAVA语言开发的,都是英语(除非有人汉化),报错信息需要有JAVA知识才能看懂,插件也需要一定的数据格式排版编码思想。连电脑都不熟悉的人更不要说了,这不是没学会走就开始跑吗?此外,独立自助自学的能力也是需要的,没有人会不厌其烦的告诉你,除非他和你很熟。
- 关于经济条件:
- 小型服(1~20人)——家用机就可以满足,2GB内存,10MB光纤相信对游戏玩家不是问题;
- 中型服(20~100人)——这就需要服务器了,无收入人士(比如学生)还是建小型服或者去玩别人的服吧;
- 大型服(100人+)——需要专业服务器,大流量光纤,非常烧钱,好吧,不是对MC骨灰级玩家还是洗洗睡吧;
本帖最后由 +倒霉の忍者+ 于 2013-4-21 23:39 编辑
(水桶服务器官方教程:
http://wiki.bukkit.org/Setting_up_a_server)
服务器建立
注意事项
1.
确保你安装了JRE:打开开始菜单,并选择“运行”,输入“cmd”后点击确定,在出来的窗口中输入“java -version” 如果出现“Unknown command. Type 'help' for help.”则说明你没有安装JRE或者进行环境变量设置,下载并安装请浏览1L,环境变量设置可以百度搜索。
2.
确认服务器正常启动:当未安装插件时,控制台窗口中出现了“Done!”的字样,则说明你服务器已建立完毕。
3.尖括号表明的是范围,不需要输入。
Windows
1.下载CraftBukkit:
2.将下载到的jar文件放到你想要让服务器安装的目录下;
3.新建一个txt文本文档,打开并输入:- @ECHO OFF
- java -Xms1g -Xmx1g -jar <此处换成你下载到的文件的文件名>.jar
- pause
复制代码 4.保存该文档,并将文档重命名为bat后缀(文件名任意);
5.双击该bat文件即可运行服务器;
6.输入stop正常关闭服务器。
|
Linux
你也可以浏览Setting up a remote Linux server
Mac OS X
打开终端(Terminal,在“Application/Utilities”中可以找到)并将以下内容粘贴:- cd ~/Desktop/
- mkdir BukkitServer
- cd BukkitServer/
- curl -LO http://cbukk.it/craftbukkit.jar
- echo "cd ~/Desktop/BukkitServer/" >> start.command
- echo " java -Xms1024M -Xmx1024M -jar craftbukkit.jar -o true" >> start.command
- chmod +x start.command
复制代码 文本编辑(Textedit)应该打开一个名为“LaunchServer.command”的文本文件,找到[RAM]并用512或1024或1536或2560或3072或5120将其替换(具体哪个数字看你硬件了)
这是服务器拥有的内存数量:512=512MB;1024=1GB;1536=1.5GB;2560=2.5GB;3072=3GB;5120=5GB。
服务器将安装在你的桌面,在“Bukkit Server”里,要运行它,双击“LaunchServer.command”即可。
|
服务器设置
打开服务器目录下的server.properties文件(用记事本打开即可),并对其进行修改:
你也可以浏览中文MC官方WIKI:http://zh.minecraftwiki.net/wiki/Server.properties
(注意:必须将online-mode=true 改为false,否则盗版无法联机)- #Minecraft 服务器设置文件 此类型文件不支持中文,本内容仅供作为说明,true代表执行,false代表不执行
- #Sun Mar 11 18:24:34 CST 2012 此为文件生成时间
- # 是否开启地狱,不开启话地狱门将无效
- allow-nether=true
- # 地图文件夹名称,下界与末路之地将会自动以nether,ender加上并用下划线隔开
- level-name=world
- # 是否开启GameSpy4协议服务器监听器,用于获取服务器信息。目测国内用不上。
- enable-query=false
- # 是否允许飞行
- allow-flight=false
- # 远程访问服务器的密码,此项可以留空或删除
- rcon.password=
- # 服务器端口(25565为默认端口,联机时无需输入)
- server-port=25565
- # 第5行对应功能的端口
- query.port=25565
- # 地图类型,Default=默认,FLAT=超平坦,LARGEBIOMES=巨型生物群系
- level-type=DEFAULT
- # 是否开启远程访问服务器控制台。技术人员可选。
- enable-rcon=false
- # 地图种子,在生成地图文件夹之前填入此项,可生成特定的地图
- level-seed=
- # 服务器IP,不输入则为默认IP,内网用户的话请填内网IP
- server-ip=
- # 最大建筑高度,上限是256,因为Chunk的高度最大值是256
- max-build-height=256
- # 是否生成NPC
- spawn-npcs=true
- # 是否开启白名单,没有白名单的玩家尝试进入服务器会被自动拒绝
- white-list=false
- # 是否生成动物
- spawn-animals=true
- # 此处填写服务器默认材质下载链接,链接必须以.zip结尾
- texture-pack=
- # 用于给http://snoop.minecraft.net网站发送服务器数据,这样玩家可以从客户端上获取服务器信息,目测也没人看,推荐关闭
- snooper-enabled=false
- # 是否开启极限模式,玩家死亡将自动被ban
- hardcore=false
- # 是否开启联网模式(正版专用,盗版必改为false!!!!!!!!!)
- online-mode=false
- # 是否开启PVP,不是战争服就不要开了
- pvp=false
- # 游戏难度,与单机相同
- difficulty=1
- # 玩家第一次进入游戏时的游戏模式
- gamemode=0
- # 同时在线的最大玩家数
- max-players=20
- # 远程访问服务器的端口号,此项可以留空或删除
- rcon.port=25575
- # 是否生成怪物
- spawn-monsters=true
- # 是否生成建筑物(包括村庄和地牢)
- generate-structures=true
- # 可见距离,最大值为10
- view-distance=10
- # 服务器欢迎信息(显示在玩家联机页面),中文需中文补丁支持和转码(yy的补丁可用(也需要旧版服务器),ICE未知),推荐EmEditor文本编辑器,自带转码功能
- motd=A Minecraft Server
复制代码 |
连接方法
方法1:如果服务端与客户端在同一台机器上:
输入“localhost:设置文件中端口数字”即可联机,例如“localhost:1234”
(无引号,端口若为25565可直接输入“localhost”,下同)
方法2:如果服务端与客户端在不同机器上,但使用同一个路由器:
输入“服务端内网IP:设置文件中端口数字”即可联机,例如“192.168.1.2:1234”
方法3:如果服务端与客户端在不同机器上,且服务端未使用路由器(直接由网络运营商分配IP地址):
输入“服务端IP:设置文件中端口数字”即可联机,例如“208.34.159.226:1234”
方法4:如果服务端与客户端在不同机器上,服务端使用路由器,但客户端不使用该路由器:
若服务端为内网主机,直接作为外网按照方法3处理即可;
若服务端非内网主机,服务端需进行端口映射,教程见此部分底部,之后
输入“与服务端在同一网关下的IP:映射后的外部端口数字”即可联机,例如“208.34.159.226:2345”;
若使用多个路由器:
多次映射,然后视情况按照方法2或方法3处理。
(服务器的外网IP可由服务器所在主机到www.ip138.com查看,不一定准确)
服务器详细设置[追加verify-names]
【内网建服】路由映射的方法(通法) |
更多信息
FAQ
出现问题可以去浏览 FAQ
本帖最后由 +倒霉の忍者+ 于 2013-2-26 14:55 编辑
好吧,在此说明一下,非注入式的叫Plugin(插件),注入式的叫MOD(模组)。
别告诉我找不到plugins文件夹,因为在安装服务器时的第5步,就已经在同根目录下自动生成了。
模组&插件安装
一、模组安装:要安装CraftBukkit的MOD,目前的方法就是去MC Port Central下载相关资源:
http://mcportcentral.co.za
使用他们制作的MCPC-CraftBukkit整合包,之后在他们那里下载MOD就可以了。
二、插件安装
去BUKKIT官方论坛进行搜索就可以了:
http://plugins.bukkit.org
点击右上角可切换到开发站搜索:
http://plugins.bukkit.org/curseforge/
过期内容:
接下来有几个插件对于大型服务器来说应该是必备的。
基础插件
基础插件包含了大量服务器的扩展功能,例如设置家,传送等
该种插件强烈推荐:Essentials—基础插件(官方网站:Essentials 下载页:Install Guide)
Essentials基础插件安装方法:
⒈ 下载Essentials最新版:Install Guide
⒉ 确保你的服务器没有在运行。
⒊ 打开下载的整合压缩包,将其中你想要安装的插件的jar文件解压到plugins文件夹下。
提示:在Linux系统中,你可以简单地完成解压,只需直接下载压缩包到plugins文件夹下,之后在终端中输入“unzip ./<插件文件名,输入时无需输入括号>.zip”来忽略子目录,
.是指plugins文件夹,之后删除你不需要的插件即可。(该方法由 aa210063654 提出)
⒋ 运行服务器自动完成安装。
(如果你有个已经整理好的config.yml文件,你可以关闭服务器,并用该文件中你想替换的内容替换掉plugins\Essentials文件夹下的config.yml中的对应内容)
安装后需作如下修改\plugins\GroupManager\worlds\world\groups.yml:
找到“ Default:”至其下第一个“suffix: ''”,全部选中,建议将其替换为:- Default:
- default: true
- permissions:
- - essentials.afk
- - essentials.back.ondeath
- - essentials.balance
- - essentials.chat.shout
- - essentials.compass
- - essentials.help
- - essentials.helpop
- - essentials.sethome
- - essentials.home
- - essentials.list
- - essentials.mail
- - essentials.mail.send
- - essentials.me
- - essentials.motd
- - essentials.msg
- - essentials.pay
- - essentials.portal
- - essentials.protect
- - essentials.rules
- - essentials.signs.buy.use
- - essentials.signs.disposal.create
- - essentials.signs.disposal.use
- - essentials.signs.free.use
- - essentials.signs.heal.use
- - essentials.signs.mail.create
- - essentials.signs.mail.use
- - essentials.signs.protection.create
- - essentials.signs.protection.use
- - essentials.signs.sell.use
- - essentials.signs.trade.create
- - essentials.signs.trade.use
- - essentials.spawn
- - essentials.suicide
- - essentials.tpa
- - essentials.tpaccept
- - essentials.tpahere
- - essentials.tpdeny
- - essentials.warp
- - essentials.warp.list
- - essentials.worth
- inheritance: []
- info:
- prefix: '&e'
- build: true
- suffix: ''
复制代码 其中“ - essentials.*”表示该用户组所能受到的插件功能,可自行增减。
(注意:如果安装了压缩包里的“EssentialsProtect.jar”,请注意更改铁轨和牌子的保护(默认无差别保护))
安全插件
安全插件能提供保护玩家财产的功能,例如注册及登录系统,锁箱等。
该种插件推荐XAuth密码登录系统(以前的AnjoSecurity安全登录插件的作者已不再更新),Lockette锁箱及锁门插件。
XAuth用户注册及登录插件:
⒈ 将下载到的xAuth.jar文件放入服务器所在目录的plugins文件夹中。
⒉ 确保安装之前没有人登录过正在使用的地图(若有,则删掉\world\players文件夹下的所有文件(对于普通玩家,安装前包里的东西都截图,然后向服务器要补偿吧))。
⒊ 运行建立服务器所创建的RUN.bat。
⒋ 等待完成安装。
(好吧,在此强调一下,密码不是服务器的密码,是玩家自己的登录密码)
安装该插件后,玩家第一次登录游戏需要注册,输入:“/register password”,之后登录密码就是password,以后登录游戏都需输入“/login password”来登陆游戏,
想更换密码,则输入:“/changepw newpassword”,则你的密码就变为newpassword,管理员若想改别人密码,则输入“/changepw XXX newpassword”,XXX为玩家名。
Lockette锁箱及锁门插件:
⒈ 将下载到的Lockette138.jar文件放入服务器所在目录的plugins文件夹中。
⒉ 运行建立服务器所创建的RUN.bat。
⒊ 等待完成安装。
使用方法:
就在你想锁住的箱子旁边或门上方的方块上立个牌子,输入:- [Private]
- yourself
- player1
- player2
复制代码 第2行默认留给你自己(无需输入)。第3、4行为其他玩家(一行一个名字),也可以改为输入[Everyone]允许所有人使用(跟不锁一样),
或者[Operators]允许OP使用,如果你安装了上面的基础插件就能设置某组可以使用,例如[Admin],[SemiAdmin]等。
如果想允许更多的人,则在旁边另立一块牌子(对于门则需要2扇门):- [More Users]
- [Admin]
- player4
- player5
复制代码 如果不慎输错,可以按T输入“/lockette 行数 玩家名”来更改文本,例如“/lockette 3 Jack”
|
本帖最后由 +倒霉の忍者+ 于 2013-2-26 14:55 编辑
权限管理呢,就是给玩家分组,不同的组有不同权限,就像管理员能TP,而你不能自己输入命令TP。
权限管理
这些设置在游戏中或服务器上也能修改(开启状态)。
设置该项需要至少安装GroupManager用户组管理插件,2楼中Essentials基础插件已包含该插件。
用户组管理所涉及的文件有2个:\plugins\GroupManager\worlds\world下的“
groups.yml”和“
users.yml”
(注意.yml格式要用写字板打开,推荐EmEditor等软件)。
若要更改上述文件,请确保在安装完插件后已生成该文件,并保持服务器关闭状态。
在开始之前,先让我们了解一下“权限(Permission)”这个东东。
权限,顾名思义,表示权利与限制。
正如大家所知道,水桶因插件这一东东,给它增添了许多功能,然而,有的插件提供的功能可能会破坏游戏的平衡,
因此,按需要给予玩家权限是必然的,于是权限插件就出现了。
权限的一般形式是:xxx.xxxx.xxx长度及由“.”分段数量没有要求。
如果你安装了某个插件,却不能使用它的功能,如果插件本身没有问题,那么往往就是因为你忘记添加权限了,
大部分插件都有它自己的权限,分别对应不同的功能,这些权限在作者发布插件时会同时注明,到插件帖子上找就可以了。
权限有两种添加方法,一种是在游戏中使用命令添加(前提是你有添加的权限,OP即可),另一种是更改文件来添加权限(比命令的一个一个添加快,适合老手),
详细说明见下:
groups.yml
说明(注意格式一定要保持如下):
开头不空格的是“groups”,文件固定设置不要更改;
开头空2格的是组别,默认有(级别依次提高):“default(默认)”、“Builder(建筑家)”、“Moderator(调解人)”、“SemiAdmin(副管理)”、“Admin(总管理)”;
开头空4格的是各组的各项设置,名称不需要修改;
开头为“ - ”的是权限和功能,由插件提供;
开头空6格的是用户组的属性信息。
文件组设置一般格式:
groups: (这个要保持在文件最上处)
XXX: (XXX的含义是你可以自行增减用户组,名称任意,只要保持各设置格式相同即可)
default: false (该项设置玩家第一次进入游戏时,是否自动归入改组,true是,false否,下同)
permissions: (该项设置玩家的权限,在下一行之后添加,该项请看完后面的设置再更改)
- essentials.* (*代表ESS插件某一权限,例如“sethome”为设置家等,如果保持*,该组则拥有Essentials插件的所有权限)
- '*' (仅仅为'*'(注意引号)则是指该组拥有所有的权限(包括上面的))
- XXX.XXX (这是其他插件的权限格式,长短,点数量不定,作者应该在帖子中作说明)
inheritance: (意为继承,在下一行之后添加其它某一组(级别相邻或相同即可),之后XXX组就拥有所添加的组的所有权限,没有则改为“ inheritance: []”,下方组也不添加)
- default (例如该项设置了默认组,则XXX组就拥有默认组所有权限(你不用再在“permissions”中添加命令了))
info: (用户组属性)
prefix: '&e' (前缀,若将引号中的内容改为“&c[VIP]&2”,该组所有玩家名则会显示为:[VIP]绿名,输入“/list”查看在线人数时就可以看到。颜色设置在这里看)
build: true (该组是否能修改地形(注:刚安装插件时,默认组此项为false))
suffix: '' (尾缀,好吧,这项我没用过,应该和“prefix”一样功能,不过在昵称尾部)
Essentials插件命令官方说明手册 |
users.yml
说明(注意格式一定要保持如下 ):
开头不空格的是“users:”,文件固定设置不要更改;
开头空2格的是玩家;
开头空4格的是各组的各项设置,名称不需要修改;
该项设置很简单,一般格式:
users: (该项固定在文件顶部)
123: (我们以一个名叫“123”的玩家举例吧)
subgroups: [] (子用户组,类似于上面的“继承”,单独对该玩家有效(上面的“继承”同样有效),冒号后接空格+[]表示“无”,下同)
permissions: [] (权限,仅该玩家拥有(添加方法同groups.yml),该两项设置一般不需更改)
group: XXX (玩家所在用户组)
P·S:若保持空的状态,通过下文的命令来进行编辑,则需要改为:
以上两个文件,所有同一横行后有设置的项,冒号后都有一个空格。 |
用户组命令(在游戏中和服务器中进行修改)
注意:在游戏中输入命令前需要加“/”,在服务器中则不用;在游戏中输入“/help”(第1页)或“/help *”(*为页数)可查看命令及英文说明。
进行更改前提命令:
manselect world 选择world为需要更改权限的地图;
mantogglevalidate 允许更改不在线的用户(若只更改在线的,则无需输入);
请确认输入此命令后server窗口显示如下字样:
[INFO] Validade if player is online, now set to: false (玩家在线时才生效,现在设置为:否(意思就是不在线的也能修改了))
[INFO] From now on you can edit players not connected... BUT: (从现在起你能编辑未连接的玩家…但是:)
[INFO] From now on you should type the whole name of the player, correctly. (从现在开始你需要正确地输入被更改玩家的全名。)
若显示为:
[INFO] Validade if player is online, now set to: true
则需要再输入一遍命令,确保为false(这样你才能修改不在线的)。
以下是自行用户及组设置(man后接u是对用户,接g是对组设置):
manuadd 123 XXX 将玩家123添加到XXX用户组;
manudel 123 将玩家123变为默认组;
manuaddsub 123 XXX 将XXX用户组添加到玩家123的子用户组列表中;
manudelsub 123 XXX 将XXX用户组从玩家123的子列表中剔除;
manuaddp 123 essentials.* 为玩家123单独增加essentials.*权限(由于大部分权限都由Essentials基础插件提供,所以这是一般形式);
manudelp 123 essentials.* 删除玩家123拥有的essentials.*权限;
manulistp 123 列出玩家123所拥有的权限;
manucheckp 123 essentials.* 检查玩家123是否拥有essentials.*权限,并寻找出处(用户组);
manuaddv 123 prefix &1 设置玩家123的prefix变量为&1(变量目前有prefix(前缀)、suffix(尾缀)、build(破坏方块)三种,已有效);
manudelv 123 prefix 删除玩家123的prefix变量;
manulistv 123 列出玩家123所拥有的变量(虽然无效,但看还是能看的);
manucheckv 123 prefix 查看玩家123的prefix变量属性(这里看的是用户组里的);
mangadd XXX 添加名为XXX的用户组;
mangdel XXX 删除名为XXX的用户组;
mangaddp XXX essentials.* 为用户组XXX增加essentials.*权限;
mangdelp XXX essentials.* 删除用户组XXX拥有的essentials.*权限;
manglistp XXX 列出用户组XXX所拥有的权限;
mangcheckp XXX essentials.* 检查用户组XXX是否拥有essentials.*权限,并寻找出处;
mangaddv XXX prefix &1 设置用户组XXX的prefix变量为&1;
mangdelv XXX prefix 删除用户组XXX的prefix变量;
manglistv XXX 列出用户组XXX所拥有的变量;
mangcheckv XXX prefix 查看用户组XXX的prefix变量属性;
mangaddi XXX1 XXX2 使用户组XXX1继承用户组XXX2的权限;
mangdeli XXX1 XXX2 将用户组XXX2从用户组XXX1的继承列表中删除(这个命令经测试发现有问题,删除不了);
manpromote 123 XXX 将玩家123升级到XXX用户组;
mandemote 123 XXX 将玩家123降级到XXX用户组(其实这两个命令都是改变组别的,升级降级无实在含义);
listgroups 列出目前所存在的用户组。
以上命令足以自行更改用户组,还有部分很鸡肋的用户组命令就不说了。 |
现在可以X了吗?
一世清凉 发表于 2011-6-6 15:25 
现在可以X了吗?
好吧5楼应该够了,我刚才编辑草稿时手误点到发表上了(就在编辑旁边愁死我了)
(继续编帖……)
本帖最后由 孙、哥 于 2011-6-6 16:48 编辑
支持。。
馬桶[diamond_sword]