本帖最后由 小天铄 于 2020-11-28 16:00 编辑


BedWarsRel起床战争插件配置教程

  • 起床战争是国内外热门小游戏,最多可支持15个队伍,每个队伍都有一个床,每个资源点都会刷新资源,通过资源兑换物品破坏其他队的床来取得胜利
  • 站内有几个BedWarsRel相关教程/wiki,但均年代已久,无人维护,内容也比较简略,起床战争小游戏服主入门比较困难,因此本人发布了本帖教程
  • 本帖实验的服务端版本:spigot.1.8 ,插件版本:BedwarsRel-1.3.6
  • 字数统计
  • 本帖适用人群:
    • 使用BedWarsRel开服的服主
  • 本帖适用环境及所需工具:
    • 服务端:Spigot/Paper等支持BedWarsRel插件的核心
    • 编辑工具:Notepad++等(windows自带记事本除外)





插件安装



站内搬运帖:https://www.mcbbs.net/thread-1091498-1-1.html
Bukkit 原帖:https://dev.bukkit.org/bukkit-plugins/bedwars-rel/

安装步骤:

  •     在原帖下载插件
  •     打开Plugins文件夹,将插件拖拽/复制进去
  •     使用Yum/plugman等管理插件载入插件或重启服务器





指令与权限


需要bw.base权限的指令
  • /bw help {页数} 查看插件帮助页面


需要bw.kick权限的指令

  • /bw kick {玩家} 从当前游戏中T出某个玩家


需要bw.setup权限的指令


  • /bw addgame {游戏名称} {最小玩家数量} 创建一个新的游戏
  • /bw removegame {游戏名称} 删除一个游戏
  • /bw setspawner{游戏名称} {类型} 添加资源刷新点
  • /bw addteam {游戏名称} {队伍名称} {队伍颜色} {队伍最大玩家} 为一个游戏添加队伍
  • /bw save {游戏名称} 保存游戏
  • /bw setregion {游戏名称} {loc1/loc2} 设置游戏区域
  • /bw join {游戏名称} 加入一场游戏
  • /bw setspawn {游戏名称} {队伍名称} 设置某个游戏队伍的出生点
  • /bw setlobby {游戏名称} 为某个游戏设置等待大厅
  • /bw settarget {游戏名称} {队伍名称} 为某个队伍设置床
  • /bw leave 离开当前游戏
  • /bw reload {类型} 重载(xx)配置
  • /bw list 查看所有可运行游戏
  • /bw regoinname {游戏名称} 设置区域名称
  • /bw removeteam {游戏名称} {游戏队伍} 删除某个游戏的队伍
  • /bw clearspawner {游戏名称} 删除某个游戏所有的资源刷新点
  • /bw gametime {游戏名称} {时间} 设置某个游戏的时间
  • /bw stats {玩家ID} 查看某个玩家的起床信息
  • /bw start {游戏名称} 运行某个游戏
  • /bw setminplayers {游戏名称} {最小人数} 设置某个游戏的最小人数
  • /bw setbuilder {游戏名称} {名称} 设置地图的作者
  • /bw setgameblock {游戏名称} {方块类型} 设置某个游戏的”床“
  • /bw addteamjoin {game} {team} 添加一个团队选择的实体
  • /bw addholo 在所在位置添加一个统计全息图
  • /bw removeholo 执行此指令再右键一个统计全息区即可删除删除该全息图





config文件详解


  • 基础配置信息
#提示信息的前缀,推荐使用起床战争或服务器名称
#示例 :&a起床战争 &f>>
chat-prefix: '&7[&bBedWars&7]&f'
#是否允许储存统计信息
plugin-metrics: true
#是否允许发送错误报告给“BugSnag”
send-error-data: true
#是否允许发送全局信息(游戏开始的信息)
global-messages: true
global-autobalance: false
#结束后玩家与旁观者是否可以聊天
global-chat-after-end: true
#游戏时长,推荐45~60
gamelength: 60
#游戏时是否允许合成物品
allow-crafting: false
overwrite-names: false
#玩家在等待大厅时的游戏模式,默认为0(生存模式)
lobby-gamemode: 0
holographic-stats:
  show-prefix: false
  name-color: '&7'
  value-color: '&e'
  head-line: Your &eBEDWARS&f stats
#Tab列表中,玩家ID前方是否显示队伍名称
teamname-on-tab: false
#玩家聊天时,玩家ID前方是否显示队伍名称
teamname-in-chat: false
hearts-on-death: true
#掉入虚空是否立即死亡(推荐开启!)
die-on-void: false
spawn-ressources-in-chest: true
#达到足够的人后,开始游戏所需要的时间
lobbytime: 60
#玩家在等待大厅聊天时的格式
lobby-chatformat: ''
#玩家全局聊天时的格式
ingame-chatformat-all: ''
#玩家队内聊天时的格式
ingame-chatformat: ''
game-block: BED_BLOCK
#是否保存游戏记录
store-game-records: true
#是否保存并显示保持游戏记录的玩家
store-game-records-holder: true
#床被破坏的声音,更多声音请看:https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
bed-sound: ENDERDRAGON_GROWL
#玩家的物品是否掉落
player-drops: false
keep-inventory-on-death: false
place-in-liquid: true

  • 破坏方块的相关配置
breakable-blocks:
  #是否允许破坏所有方块,true则代表允许破坏所有方块
  use-as-blacklist: false
  #若为false,可在此处单独列出可破坏方块
  list:
  - none
jointeam-entity:
  #是否在玩家头顶显示队伍
  show-name: true

  • 计分板配置信息
#等待大厅的计分板
lobby-scoreboard:
  #是否开启等待大厅的计分板
  enabled: true
  #计分板的标题
  title: '&eBEDWARS'
  #计分板的具体内容
  #可用变量:
  #$ regionname $ =地图名称
  #$ gamename $ =游戏名称
  #$ players $ =当前玩家数量
  #$ maxplayers $ =最大玩家数量
  content:
  - ' '
  - ''
scoreboard:
#计分板可用变量
#$status$=床是否被摧毁
#$team$=队伍名称(彩色)
#$time$=剩余时间
  #床被摧毁后的计分板格式
  format-bed-destroyed: ''
  #床被摧毁前的计分板格式
  format-bed-alive: ''
  #计分板的标题
  format-title: ''

  • 标题配置
titles:#均以秒为单位
  win:
    #是否开启获胜的标题
    enabled: true
    #标题淡入时间
    title-fade-in: 1.5
    #标题保持时间
    title-stay: 5.0
    #标题淡出时间
    title-fade-out: 2.0
    #字淡入的时间
    subtitle-fade-in: 1.5
    #字保持的时间
    subtitle-stay: 5.0
    #字淡出的时间
    subtitle-fade-out: 2.0
  map:
    #是否开启地图名称的标题
    enabled: false
    #标题淡入时间
    title-fade-in: 1.5
    #标题保持时间
    title-stay: 5.0
    #标题淡出时间
    title-fade-out: 2.0
    #字淡入的时间
    subtitle-fade-in: 1.5
    #字保持的时间
    subtitle-stay: 5.0
    #字淡出的时间
    subtitle-fade-out: 2.0
  #倒计时
  countdown:
    #是否开启倒计时的标题
    enabled: true
    #倒计时标题的信息
    format: '&3{countdown}'

  • 其他配置
explodes:
  #是否允许破坏世界方块
  destroy-worldblocks: false
  #是否玩家允许使用炸床
  destroy-beds: false
  #爆炸是否会破坏方块
  drop-blocking: false

  • 队伍配置
#队友之间是否可以互相攻击并造成伤害
friendlyfire: false
#是否可以挖队友所放置的方块
friendlybreak: true
#游戏结束后,过多少秒被传送到大厅
gameoverdelay: 10
#发送全局消息,要在所发消息前加什么
chat-to-all-prefix:
- '@'
- '@a'
- '@all'
#玩家是否可以收到服务器所有消息
#false则只能收到游戏消息
seperate-game-chat: true

  • 统计分数配置
statistics:
  #是否开启统计分数
  enabled: false
  #是否在游戏结束后展示分数
  show-on-game-end: true
  storage: yaml
  bed-destroyed-kills: false
  #分数配置
  scores:
    #击杀1个人获得的分数
    kill: 10
    #死亡1次获得的分数
    die: 0
    #获胜1次获得的分数
    win: 50
    #破坏1张床获得的分数
    bed-destroy: 25
    #失败1次获得的分数
    lose: 0
    record: 100
  player-leave-kills: false

  • 数据库配置
#数据库
database:
  host: localhost
  #数据库端口
  port: 3306
  #数据库名称
  db: database
  #数据库用户名
  user: root
  #数据库密码
  password: secret
  table-prefix: bw_
#是否开启旁观者模式
spectation-enabled: false
#是否开启重生无敌时间
respawn-protection: 0
#在游戏进行时可以使用的指令
allowed-commands:
- /help

  • 游戏大厅配置
endgame:
  #离开游戏后是否被传送到指定位置
  mainlobby-enabled: false
  #游戏结束后,所有玩家是否被传送到指定位置
  all-players-to-mainlobby: false

  • bc配置
bungeecord:
  #是否开启bc模式
  enabled: false
  #bc配置中大厅的名称
  hubserver: hub
  #游戏结束后是否传送到大厅
  endgame-in-lobby: true
  #游戏结束后是否真的重启
  full-restart: true
  spigot-restart: true
  #建议配合serverjoiner
  motds:
    #等待中的motd
    lobby: |
      $regionname
    #游戏运行中的motd
    running: |
      $regionname$
    #关闭中的motd
    stopped: |
      $regionname$
      &c[Stopped]
    #游戏已满人的motd
    full: |
      $regionname$
#语言文件
locale: en_US

  • 资源配置
#资源
resource:
  #平常所说的铜
  bronze:
    item:
    #物品的英文ID
    - type: CLAY_BRICK
      #数量
      amount: 1
      meta:
        ==: ItemMeta
        meta-type: UNSPECIFIC
        #物品名称
        display-name: "Bronze"
    #刷新时间
    spawn-interval: 1000
    spread: 1.0
  #平常所说的铁
  iron:
    item:
    - type: IRON_INGOT
      amount: 1
      meta:
        ==: ItemMeta
        meta-type: UNSPECIFIC
        display-name: "Iron"
    spawn-interval: 10000
    spread: 1.0
  #平常所说的金
  gold:
    item:
    - type: GOLD_INGOT
      amount: 1
      meta:
        ==: ItemMeta
        meta-type: UNSPECIFIC
        display-name: "Gold"
    spawn-interval: 20000
    spread: 1.0
#是否自动检查更新
check-updates: true
#是否发送下载新版本的信息
update-infos: true

  • 奖励配置
rewards:
  #是否开启奖励
  enabled: false
  #玩家获胜获得的奖励
  player-win:
  - /example {player} 200
  #玩家待到游戏结束获得的奖励
  player-end-game:
  - /example {player} {score}
  #玩家破坏床获得的奖励
  player-destroy-bed:
  - /example {player} {score}
  #玩家击杀敌人获得的奖励
  player-kill:
  - /example {player} 10

  • 特殊道具配置
specials:
  #救援平台
  rescue-platform:
    #平台持续时间
    break-time: 10
    #使用冷却时间
    using-wait-time: 20
    #物品英文ID
    item: BLAZE_ROD
    #平台是否可以被破坏
    can-break: false
    #构成平台的物品的英文ID
    block: STAINED_GLASS
  #防护墙
  protection-wall:
    #防护墙持续时间,0位不消失
    break-time: 0
    #使用冷却时间
    wait-time: 20
    #防护墙是否可以被破坏
    can-break: true
    #物品英文ID
    item: BRICK
    #构成防护墙的物品的英文ID
    block: SANDSTONE
    #防护墙的宽度
    width: 5
    #防护墙的高度
    height: 3
    #防护墙距玩家的距离
    distance: 2
  #防击退鞋
  magnetshoe:
    #不被击退的几率,%
    probability: 75
    #物品英文ID
    boots: IRON_BOOTS
  #快速回城粉
  warp-powder:
    #是否显示粒子效果(出生点和使用道具处都有)
    show-particles: true
    #粒子ID
    particle: fireworksSpark
    #传送时间
    teleport-time: 6
  #陷阱
  trap:
    #是否播放声音
    play-sound: true
    #踩到陷阱的的效果
    effects:
    #失明
    - ==: PotionEffect
      #效果ID
      effect: 15
      #效果持续时间,20刻=1秒
      duration: 100
      #效果等级
      amplifier: 2
      #是否产生粒子效果
      ambient: true
    - ==: PotionEffect
      effect: 18
      duration: 100
      amplifier: 2
      ambient: true
    - ==: PotionEffect
      effect: 2
      duration: 100
      amplifier: 2
      ambient: true
  #TNT羊
  tntsheep:
    #TNT爆炸时间
    fuse-time: 8.0
    #TNT羊的速度,不要超过0.8
    speed: 0.4
    explosion-factor: 1.0
  arrow-blocker:
    protection-time: 10
    using-wait-time: 5
    item: ender_eye

  • 加入游戏的告示牌信息配置
sign:
  #告示牌第1行
  first-line: $title$
  #告示牌第2行
  second-line: $regionname$
  #告示牌第3行
  third-line: Players
  #告示牌第4行
  fourth-line: $status$
player-settings:
  one-stack-on-shift: false
  old-shop-as-default: false
lobbytime-full: 15
hearts-in-halfs: true
spawn-resources-in-chest: true


Shop配置详解


  1. shop:
  2.   #商店的名称,必须是唯一的
  3.   armor:
  4.     #商店显示的物品的英文ID
  5.     item: DIAMOND_CHESTPLATE
  6.     #商店显示的名称
  7.     name: "Armour"
  8.     #商店的顺序
  9.     order: 10
  10.     #商店所需的权限(若没有该权限则无法看到此商店)
  11.     permission: bw.base
  12.     #商店显示的lore
  13.     lore:
  14.     - "Protect yourself with armor! Click here."
  15.     #商店具体的商品
  16.     offers:
  17.     #商品的价格
  18.     - price:
  19.       #交易物品
  20.       - type: CLAY_BRICK
  21.       #获得的物品
  22.       reward:
  23.       #物品的的英文ID
  24.       - type: LEATHER_HELMET
  25.         meta:
  26.           ==: ItemMeta
  27.           meta-type: LEATHER_ARMOR
  28.           #物品的名称(可选)
  29.           display-name: "Magnet-Shoes"
  30.           #物品的lore(可选)
  31.           lore:
  32.           - "Wear those shoes and have a 75%"
  33.           - "chance of getting no knockback!"
  34.           #物品所带的附魔(可选)
  35.           enchants:
  36.             PROTECTION_ENVIRONMENTAL: 1
复制代码

常规起床商店(仅适用于经验模式): shop.yml (15.92 KB, 下载次数: 50)
会员起床商店(仅适用于经验模式): shop.yml (32.22 KB, 下载次数: 20)

地图制作教程


1.输入 /bw addgame [游戏名称] 来创建一个游戏
2.站在等待大厅的地方输入 /bw setlobby [游戏名称] 来设置等待大厅
3.输入 /bw addteam [游戏名称] [队伍名称] [队伍颜色] [队伍最大玩家] 来创建队伍
  队伍颜色可选:GREEN、BLUE、RED、YELLOW等颜色4.输入 /bw settarget [游戏名称] [队伍名称] 为某个队伍设置床(手需要指着床)
5.输入 /bw setspawn [游戏名称] [队伍名称] 为某个队伍设置重生点(
需要站在出生点)
6.输入 /bw gametime [游戏名称] [时间] 来设置某个游戏的时间(分钟为单位)
7.输入 /bw setspawner [游戏名称] [类型] 来设置资源刷新点(需站在刷新点处)
8.输入 /bw setregion [游戏名称] [loc1/loc2] 来设置游戏区域
9.输入 /bw setbuilder [游戏名称] [名称] 来设置地图的作者(可跳过此步)
10.输入 /bw save [游戏名称] 来保存指定游戏
11.输入 /bw start [游戏名称] 来运行指定游戏
12.输入 /bw join [游戏名称] 来玩你制作的地图吧

图片教程


第二步创建一个游戏





第三步应当设置游戏的等待大厅


第四步应当为游戏添加团队


注:因简易地图只有蓝红两队,所以只创建蓝红两个队伍,此插件一共可创建15个队伍

第五步为蓝红两队设置床


注:此处的重生点=床

第六步为蓝红两队设置出生点



第七步设置游戏的游戏时间(此处在config配置文件中有,可跳过此步,使用config配置文件中关于游戏时间的配置)


第八步设置游戏的资源刷新点






第九步设置游戏区域

注:需要站在两个角

第十步设置游戏地图的作者


第十一步保存游戏


第十二步运行游戏


第十三步进入游戏玩耍吧!
[/spoiler]


常见问题解答


Q:如何设置玩家在等待大厅时的游戏模式为冒险模式?



Q:如何设置玩家在掉入虚空后立即死亡而不是一点血一点血的掉?


Q:如何允许玩家在游戏中挖任何东西(除床外)?


Q:我是bc模式,但游戏结束后不返回大厅怎么办?


Q:如何增加资源:钻石/绿宝石?


Q:如何修改插件的语言文件为中文?


Q:如何设置击杀/挖床/获胜给点券?


Q:如何用牌子进入游戏?




推荐搭配插件


推荐插件:BedwarsXP插件地址:https://www.mcbbs.net/thread-667617-1-1.html
推荐指数:※※※※※
推荐原因:经验起床玩法!

推荐插件:BedwarsScoreBoardAddon

站内地址:https://www.mcbbs.net/thread-814322-1-1.html
推荐指数:※※※※※
推荐原因:该插件具有30余种起床拓展,凋零弓等热门玩法应有尽有


推荐插件:BedwarsRejoin
站内地址:https://www.mcbbs.net/thread-904523-1-1.html
推荐指数:※※※※
推荐原因:该插件可以让玩家在掉线后,重新进入掉线前的房间


推荐插件:BedWars Random Map
站内地址:https://www.mcbbs.net/thread-809355-1-1.html
推荐指数:※※※
推荐原因:该插件可以让玩家进入随机地图


推荐插件:BedwarsRank
站内地址:https://www.mcbbs.net/thread-1012525-1-1.html
推荐指数:※※
推荐原因:该插件可以让玩家直观的看到起床游戏数据排名,只是不支持彩色


推荐插件:BedwarsItemShop
插件地址:https://www.mcbbs.net/thread-848498-1-1.html
推荐指数:※※※※
推荐原因:修改传统的起床商店排版


推荐插件:BedwarsMultiple
插件地址:https://www.mcbbs.net/thread-857110-1-1.html
推荐指数:※※※※
推荐原因:起床战争多床玩法


推荐插件:BedwarsItemAddon

插件地址:https://www.mcbbs.net/thread-827639-1-1.html
推荐指数:※※※※
推荐原因:起床战争道具拓展,搭桥蛋,蹦床等多种道具


推荐插件:StopMiniGameUseBed
插件地址:https://www.mcbbs.net/thread-822130-1-1.html
推荐指数:※※※
推荐原因:关闭原版白天右键床的提示信息


推荐插件:BedwarsKillXp
插件地址:https://www.mcbbs.net/thread-720452-1-1.html
推荐指数:※※※※
推荐原因:击杀抢夺经验,需配合BedwarsXP插件



创新玩法教程


爆炸起床制作教程:
安装BedwarsItemAddon插件,开启烈焰球拓展道具,在起床shop文件中添加一个物品id为FIREBALL的物品
示例:
  1. - reward:
  2.       - type: FIREBALL
  3.         meta:
  4.           ==: ItemMeta
  5.           meta-type: UNSPECIFIC
  6.           display-name: "§c§l火球"
  7.           lore:
  8.           - "§a右键发射"
  9.       price:
  10.       - type: IRON_INGOT
  11.         amount: 1
复制代码
这样,火球就制作完成了,制作一个爆炸起床类型的shop后,配置地图就行了
shop示例: shop.yml (5.14 KB, 下载次数: 8)



开服心得


  • 开起床服务器肯定会耗时耗力,前期人可能不会很多,但是不要放弃,一步一个脚印,慢慢来,总有一天会发展起来。
  • 配置起床地图不要烦,由于一些服务器有许多地图,导致配置地图需要耗费大量的时间,如果这时候烦了你就输了
  • 不要总是跟大服比,要跟自己比,今天有20个人玩了我的服务器,比昨天多了5人就是进步








[groupid=1701]Complex Studio[/groupid]