最MC论坛

标题: [服务器教程]CraftBukkit水桶服务器详细建立教程 [打印本页]

作者: 纯白丶单色凌    时间: 2014-10-25 08:49
标题: [服务器教程]CraftBukkit水桶服务器详细建立教程
本帖最后由 纯白丶单色凌 于 2014-10-25 08:59 编辑

注明:本帖转自:http://www.mcbbs.net/thread-5531-1-1.html
建服准备
JRE(Java Runtime Environment - Java运行环境)
如你所知,客户端是JAVA程序,服务器也是JAVA程序。建服涉及到有关启动java程序的命令,下面推荐安装版,因为绿色版不注册表无法被系统直接使用。下载:你有2个选择,可以去官网先下载下载器,然后再进行安装。或者去各网站下载已经下好的安装程序,然后安装。
官网安装
 1.登录JAVA中文网站点击页面中间的红色“免费 JAVA 下载”按钮,然后再点击红色“同意并开始免费下载”按钮下载下载器。
  2.打开下载器开始下载安装程序,下载完毕后将会自动进行安装。
  3.中文版的安装向导,你可以手动选择安装路径,然后一路点下去。
  4.等待安装完毕。
注意事项
注意:
关于游戏内容:
如果你没单机过,请先单机一段时间,会制作所有物品,了解所有生物,去过三界,死过N次,再想联机。
如果你没联机过,请先联机一段时间后再想建服,连聊天按哪个键的人都不知道仍想要建服的人你伤不起啊(更不要说没玩过MC的人了……)
关于个人能力:
建服要求至少有高中毕业英语成绩优良的语言能力,以及一定的JAVA理解能力,因为这个软件是外国用JAVA语言开发的,都是英语(除非有人汉化),报错信息需要有JAVA知识才能看懂,插件也需要一定的数据格式排版编码思想。连电脑都不熟悉的人更不要说了,这不是没学会走就开始跑吗?此外,独立自助自学的能力也是需要的,没有人会不厌其烦的告诉你,除非他和你很熟。
关于经济条件:
小型服(1~20人)——家用机就可以满足,2GB内存,10MB光纤相信对游戏玩家不是问题;
中型服(20~100人)——这就需要服务器了,无收入人士(比如学生)还是建小型服或者去玩别人的服吧;
大型服(100人+)——需要专业服务器,大流量光纤,非常烧钱,好吧,不是对MC骨灰级玩家还是洗洗睡吧;
1楼
2楼
3楼
勿插♂

作者: 纯白丶单色凌    时间: 2014-10-25 08:54
服务器建立

注意事项

1.确保你安装了JRE:打开开始菜单,并选择“运行”,输入“cmd”后点击确定,在出来的窗口中输入“java -version” 如果出现“Unknown command. Type 'help' for help.”则说明你没有安装JRE或者进行环境变量设置,下载并安装请浏览1L,环境变量设置可以百度搜索。
2.确认服务器正常启动:当未安装插件时,控制台窗口中出现了“Done!”的字样,则说明你服务器已建立完毕。
3.尖括号表明的是范围,不需要输入。
windos
http://pan.baidu.com/s/1c0ImKzY下载服务端核心jar文件
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

  ⒈ 下载水桶服务器的最新版
  ⒉ 将.jar文件放在任意文件夹下(我们以~/craftbukkit为例)。
  ⒊ 用终端设备输入“cd ~/craftbukkit”移动到上方目录。
  ⒋ 创建一个新的文本文件于minecraft文件夹然后将他命名为 craftbukkit.sh
  ⒌ 编辑该文本,将下面的代码粘贴到文本中:
cat > craftbukkit.sh << EOF
#!/bin/sh
BINDIR=$(dirname "$(readlink -fn "$0")")
cd "$BINDIR"
java -Xmx1024M -Xms1024M -jar <此处换成你下载到的文件的文件名>.jar
EOF
chmod +x craftbukkit.sh
复制代码
⒍ 保存该壳并确定它是可执行文件,然后用终端打开它,一个控制台窗口将会打开然后迅速自动关闭。
  ⒎ 之后输入“~/craftbukkit/craftbukkit.sh”来运行。
  ⒏ 如果你不小心打开,在其中输入“stop”来正常关闭服务器。

如果计划要长期的运行服务器,必须要有一个初始化的脚本,像 https://github.com/Ahtenus/minecraft-init如果你想用窗口运行服务器,你可以看看这个脚本 http://dev.bukkit.org/server-mods/ascii-bukkit-menu/
对于CentOS用户,有一些关于CentOS的细节需要浏览:http://wiki.bukkit.org/CraftBukkit_CentOS_Server_Setup
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查看,不一定准确)
更多信息
你可以浏览下面的网页:
http://forums.bukkit.org/threads ... -newb-friendly.245/
该页有功能齐全的安装程序,以及对Mac OS X和Windows的升级程序。

作者: 纯白丶单色凌    时间: 2014-10-25 08: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”
作者: 纯白丶单色凌    时间: 2014-10-25 08:56
权限管理呢,就是给玩家分组,不同的组有不同权限,就像管理员能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”一样功能,不过在昵称尾部)

users.yml

  说明(注意格式一定要保持如下 ):
    开头不空格的是“users:”,文件固定设置不要更改;
    开头空2格的是玩家;
    开头空4格的是各组的各项设置,名称不需要修改;


该项设置很简单,一般格式:

users: (该项固定在文件顶部)
  123: (我们以一个名叫“123”的玩家举例吧)
    subgroups: [] (子用户组,类似于上面的“继承”,单独对该玩家有效(上面的“继承”同样有效),冒号后接空格+[]表示“无”,下同)
    permissions: [] (权限,仅该玩家拥有(添加方法同groups.yml),该两项设置一般不需更改)
    group: XXX  (玩家所在用户组)

P·S:若保持空的状态,通过下文的命令来进行编辑,则需要改为:
users: {}

  以上两个文件,所有同一横行后有设置的项,冒号后都有一个空格。


用户组命令(在游戏中和服务器中进行修改)


  注意:在游戏中输入命令前需要加“/”,在服务器中则不用;在游戏中输入“/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 列出目前所存在的用户组。

以上命令足以自行更改用户组,还有部分很鸡肋的用户组命令就不说了。
作者: 纯白丶单色凌    时间: 2014-10-25 08:57
Minecraft官方论坛:http://www.minecraftforum.net
Bukkit官方论坛:http://bukkit.org/
MCPC官方论坛:http://www.mcportcentral.co.za
Minecraft中文论坛http://www.mcbbs.net
作者: 纯白丶单色凌    时间: 2014-10-25 08:59
@沉默 不考虑给个精华什么的♂
作者: 沉默    时间: 2014-10-27 12:18
此帖是转的~所以最多只可以给优秀!请问原帖发布者授权给你了吗?
作者: lovemc    时间: 2014-12-20 07:41
的确最多只可以给优秀,想要精华最好还是手动写吧OWO 不过还是感谢搬运!




欢迎光临 最MC论坛 (http://www.zuimc.com/) Powered by Discuz! X3.2