[FUN]CaptureTheRecord v0.89(beta) - More easily manage Capture the Record games [1000]

Discussion in 'Inactive/Unsupported Plugins' started by Mirosta, Jun 11, 2011.

  1. Offline

    Mirosta

    CaptureTheRecord - Capture the Record: Version: v0.89(beta) Capture the Record is a plugin designed to help server admins easily manage and play Capture the Record.

    All updates, help and downloads can now be found at http://dev.bukkit.org/server-mods/ctr

    Original Help:
    Show Spoiler


    Capture the Record Rules:
    • Two teams, gold team and green team, these teams correspond to the colours of the records
    • Both teams are allocated spawn areas and a radius, in which the record can be placed and captured, each spawn area is automatically given a chest, called the team chest.
    • The team chest cannot be accessed until the game starts, it contains the record for that team
    • Creepers are disabled (optional)
    • Items cannot be brought to or from the game world (except to and from the nether)
    • Non ops cannot build before the game starts (unless given the ctr.world.allowedit permission)
    • You can't enter the nether with a record
    • You can't drop your record
    • You can't leave your spawn area with your record
    • When the game starts both teams have an pre allocated length of time to build defences, this is called the build time, during this:
      • PVP is disabled
      • You cannot enter the other teams spawn area
      • You cannot use chests within the spawn area of the other team
      • You cannot edit blocks inside the other teams spawn area
      • Chests can only be used above water level and within your spawn area, while holding a record, this prevents people hiding records far underground or very far away
      • If your record isn't in a chest in the spawn area when the time expires, you lose
    • After this time expires, both teams have a pre allocated length of time to capture the other team's record, this is called the capture time, during this:
      • PVP is enabled
      • Using the other team's record in a jukebox, which is in your spawn area, wins the game! (Or using the shared jukebox, this is up to you)
      • If the time elapses it's a draw
      • You can enter the other teams spawn, destroy blocks, place blocks, open chests etc
    Features:

    • Adding a new world to be used as the game world
    • Using a pre-existing world as the game world
    • Regenerating large areas of the world, so you can restart from scratch after a game
    • Prevents cross team chat during a game, except via a specific command
    • Prevents most command use except specific commands during games
    • Ignores actions performed in worlds other than the game world
    • Seperating users into two teams, gold and green
    • Set the respawn locations for the two teams, including a team chest where the appropriate colour record is automatically added
    • Respawns are team specific
    • Teleporting between the home and game world
    • Enforces all of the game rules listed above
    • Configurable, with more options being added
    • Permissions support
    • Create bedrock walled areas to build in (as in CTR 1 and CTR 2)
    • Put green/gold wool blocks on people's heads for team identification
    Commands:


    Code:
    
    startgame:
        shortened versions: startg
        description: Start the CTR game
        permissions required: ctr.game.start
        usage: /<command>
    stopgame:
      shortened versions: stopg
      description: Stop the CTR game
       permissions required: ctr.game.stop
      usage: /<command>
    addgameworld:
      shortened versions: addgw
      description: Create a new game world(or reload one after a server restart)
      permissions required: ctr.world.add
      usage: /<command> <worldName>
    setgameworld:
      shortened versions: setgw
      description: Set an existing world as the game world
      permissions required: ctr.world.set
      usage: /<command> <worldName>
    telegameworld:
      shortened versions: telegw
      description: Teleport yourself or someone else to the game world's spawn, saves the players current inventory and then clears it
      permissions required: ctr.tele.gameworld and ctr.other.tele.gameworld to teleport others
      usage: /<command> [Player]
    telehomeworld:
        shortened versions: telehw
        description: Teleport yourself or someone else to the normal world's spawn, loads the saved inventory
        permissions required: ctr.tele.homeworld and ctr.other.tele.homeworld to teleport others
        usage: /<command> [Player]
    joingreen:
      shortened versions: grn,green
      description: Makes you or another player join the green team's fight against gold!
      permissions required: ctr.teams.joincustom and ctr.other.teams.joincustom to force others to join
      usage: /<command> [Player]
    joingold:
      shortened versions: gld,gold
        description: Makes you or another player join the gold team's fight against green!
        permissions required: ctr.teams.joincustom and ctr.other.teams.joincustom to force others to join
        usage: /<command> [Player]
    leaveteam:
      shortened versions: leave, leavet
      description: Makes you or another player leave your team and teleports you to the home world
      permissions required: ctr.teams.leave and ctr.other.teams.leave to force others to leave
      usage: /<command> [Player]
    banter:
      shortened versions: b
      description: Broadcasts your message to both teams
      permissions required: ctr.chat.banter
      usage: /<command> <message>
    goldspawn:
      shortened versions: gdspn
      description: Sets the spawn point for the gold team, must have selected the block with an iron bar first
      permissions required: ctr.teams.setspawn
      usage: /<command>
    greenspawn:
      shortened versions: gnspn
      description: Sets the spawn point for the green team, must have selected the block with an iron bar first
      permissions required: ctr.teams.setspawn
      usage: /<command>
    telegreen:
      shortened versions: telegn
      description: Teleports you to green spawn
      permissions required: ctr.tele.teamspawn
      usage: /<command>
    telegold:
      shortened versions: telegd
      description: Teleports you to gold spawn
      permissions required: ctr.tele.teamspawn
      usage: /<command>
    buildminutes:
      shortened versions: bldmin
      description: With a parameter sets the time allowed for building, else returns current build minutes
      permissions required: ctr.config.buildminutes
      usage: /<command> [setMinutes]
    captureminutes:
      shortened versions: capmin
      description: With a parameter sets the time allowed for capturing, else returns current capture minutes
      permissions required: ctr.config.captureminutes
      usage: /<command> [setMinutes]
    gametime:
      shortened versions: gmtm
      description: Displays the amount of time left for building or capturing.
      permissions required: ctr.info.gametime
      usage: /<command>
    spawnbuilddistance:
      shortened versions: spbd
      description: With a parameter sets the distance allowed for chest placement and use, else returns current build distance
      permissions required: ctr.config.builddistance
      usage: /<command> [setDistance]
    regengameworld:
      shortened versions: regengw
      description: Regenerates the game world from your position up to ChunkDistance chunks(16x128x16 blocks) away using the world's seed
      permissions required: ctr.world.regen
      usage: /<command> <ChunkDistance>
    jointeam:
        shortened versions: jtm
        description: Automatically assign's a team to you or another player
        permissions required: ctr.teams.join and ctr.other.teams.join to force others to join
        usage: /<command> [Player]
      teamlist:
        shortened versions: tlist
        description: List the players in the two teams
        permissions required: ctr.teams.list
        usage: /<command> [Page No] [TeamColour(gold/green)]
      worldbackup:
        shortened versions: wldbk
        description: Save an area of your game world in a square of side length 2 * chunkDistance centred on your location's chunk or chunk (0,0) if used from console
        permissions required: ctr.world.backup
        usage: /<command> <chunkDistance(1-6)> <backupName>
      listbackups:
        shortened versions: bklist
        description: List the currently stored backups
        permissions required: ctr.world.listbackups
        usage: /<command>
      worldrestore:
        shortened versions: wldrs
        description: Restore the world from a backup
        permissions required: ctr.world.restore
        usage: /<command> <backupName>
      removebackup:
        shortened versions: rvbk
        description: Remove a stored backup
        permissions required: ctr.world.removebackup
        usage: /<command> <backupName>
      bedrockwall:
        shortened versions: bdwl
        description: Make a bedrock wall surrounding the two points you selected (worldedit style       selection with an iron ingot), with a bedrock wall in the center, this will automatically get       turned to glass at the end of the build time
        permissions required: ctr.world.bedrockwall
        usage: /<command>
      resetbedrockwall:
        shortened versions: rsbdw, resetbd
        description: Reset the bedrock wall from previously used coordinates, and choose whether to reset the blocks
        permissions required: ctr.world.bedrockwall
        usage: /<command> [resetBlocks (default false)]
      setjukebox:
        shortened versions: sjb, setjb
        description: Make this the shared, single jukebox
        permissions required: ctr.teams.jukebox
        usage: /<command>
      ctrhelp:
        shortened versions: ctr, chelp
        description: Provides a list of CTR commands you can use along with a description
        permissions required: ctr.help
        usage: /<command> [page]
    
    Config File:
    NOTE: The config file can be reset by deleting it and restarting the CTR plugin or the server, it should also auto update now for new versions
    Code:
    ctr:
        version: 0.89 - Leave this alone, it may mess up your config if changed
        defaults:
            autosort team: false - Will make players automatically be assigned a team and teleport them to the correct spawn
            build time: 120 - The default build time in minutes, can be changed in game
            capture time: 120 - The default capture time in minutes, can be changed in game
            spawn radius: 20 - The default spawn radius in blocks, can be changed in game
            max distance: 100 - The max distance that can be travelled in blocks, enforced by a bedrock wall, use with care
            enforce max distance: false - Whether or not to use the max distance feature
            wall protection: false - Can make the bedrock wall set with /bedrockwall be used as an extension to a team's spawn area
            creepers on: false - Whether or not creepers should be spawned
            single jukebox: false - Whether a single shared jukebox or individual team jukeboxes should be used
            pvp in build time:false - Whether or not pvp is allowed during the build time
            wool helmet: true - Whether or not a gold/green wool block is put on player's heads for team identification
        team chest:
            items per member: false - Default of whether items should be given per team member, i.e. 2 team members would give 2*32 stacks of iron bars
            team chest items: [265 32 true,306] - items to add at the beginning of a game(excluding records) in the format itemID number perTeamMember
            - if perTeamMember is left blank, uses the default in items per member
            - if number is left blank assumes 1
        allowed commands: - the commands that can be used during a CTR game, in the format CommandName,Generally Available
            - If not generally available requires that the player be an op or has the ctr.game.admin permission
            - Please note that permissions for all commands are still required as normal as well
            - banter,true
            - joingold,false
            - joingreen,false
            - jointeam,false
            - telegameworld,false
            - leavegame,true
            - stopgame,false
            - gametime,true
            - telegold,true
            - telegreen,true
    Todo:
    Record a video demonstration (till then plenty of ctr games on youtube)
    Thanks to godgodgodgo for their suggestion
    • lobby system
    Thanks to Dakrul for their suggestion

    • Item rewards for winners
    Thanks to compgurusteve for their suggestion

    • Continuous play
    Thanks to fatmarley for their suggestion

    • Compasses point to other team spawn (configurable)
    Other suggestions? Please feel free to suggest!



    Changelog:
    Version 0.89
    • Various bugfixes around logging out
    • Option to put green/gold wool on players heads for team identification
    • Option to allow pvp in build time - may be buggy
    • Config file now auto updates with new options (hopefully)
    • Other bugfixes, I forget exactly what
    Version 0.87

    • Fixed saved inventory being overwritten with a blank one when teleporting from the home world
    • Fixed setting no items to spawn in the team chest causing an error
    Version 0.86 - quite a hefty one

    • Added the /bedrockwall command, this makes a bedrock wall from water level to sky with it's corners at the two places you select with your iron bar (left click and right click) The base is smooth stone, the record can't be placed below or on the same level as that smooth stone. Another bedrock wall splits it into two 'rooms', this dividing wall is turned to glass at the end of the build time to allow people to get to each other's walls. Please note that when selecting the corners you don't have to dig up or down to get the walls to the right height as it is a fixed height.
    • Added the /resetbedrockwall command, this resets the bedrock wall area you have previously selected, use this after a server restart, to repair the area after a game or after regenerating the surroundings.
    • Added the /setjukebox command, this sets a jukebox as the single shared jukebox that both teams must use to win the game
    • Added the /ctrhelp command, this lists the commands in this plugin along with a description of what each command does
    • Added the autosort team config option, when set to true, it automatically sorts players into teams when they login and teleports them to their spawn, providing the gameworld is set.
    • Added the wall protection config option, when set to true, this allows the bedrock walls set with /bedrockwall to be used as extensions of the team's spawn areas, the plugin will try to work out which side of the dividing wall belongs to which team.
    • Added the creepers on config option, when set to true creepers will spawn as normal.
    • Added the single jukebox config option, when set to true you can only win through the use of a single shared jukebox which is set with /setjukebox
    • The game world is now automatically reloaded over server restarts
    • The team's spawn locations, the shared jukebox location and the last selected bedrock wall area are saved over server restarts
    • Due to the movement events being broken by the latest bukkit version, movement restriction now teleports you back to your team's spawn rather than stopping you moving
    • You can no longer leave your spawn area while holding your team's record
    • You can no longer drop your team's record
    • You can now place chests outside your spawn area, but cannot use them while holding a record. This allows you to do things like create weapon caches away from your base
    • You can't use a nether portal in the game world while holding a record
    • When leaving the nether, having travelled there from the game world, you will be taken back to the portal you entered by, not the home world.
    • You can take and leave with items to and from the nether and game worlds.
    • Teleporting to the game world from the nether won't clear your inventory, if you entered the nether via the game world
    • Teleporting to other worlds from the nether, having entered through the game world, will correctly restore your original inventory
    • Teleporting to the game world from other worlds will now correctly save and clear your inventory
    • Respawning no longer has a delay
    • Made as compatible as possible with 1.7.2, warning may still be some bugs, try to report them where possible :)
    Version 0.84

    • Added world backup and recovery
    • Fixed inventory saving glitches
    • Added a config file, with a few options (thanks to xtre for the idea of a max travel distance, warning creates a wall of bedrock, use with care!)
    • Added the /jointeam command which automatically assigns a team to you (thanks Joy)
    • Added the /teamlist command which lists team members in each team (thanks Joy)
    • Items are added to the team chest at the beginning of every new game
    • Fixed chests not being able to be opened during a CTR game, in other worlds (thanks embty)
    • Made /joingreen and /joingold require the ctr.teams.joincustom permission instead of ctr.teams.join, equivalent done with ctr.other.teams.join
    Version 0.81

    • Fixed a bug where using some commands from the console would error
    • Made /leaveteam automatically teleport you to the home world
    • Reduced debug output to the console
    Version 0.8

    • Added permissions support!
    Version 0.7

    • Fixed a bug where your inventory could be lost when teleporting out of the game world, with a teleport not included in the mod.
    • Make a team lose if their record isn't in a chest, in their spawn area by the end of the build time, or draw if neither team has.
    Version 0.6

    • Updated to take advantage of bug fixes in craftbukkit 860
    Version 0.5

    • Beta release
     
  2. Offline

    Mirosta

    I've made it so that if, in the config file, you put a * in the allowed commands, it'll allow all commands e.g.
    - *,false to make all admins (ctr.game.admin permission) and ops have access to all commands or - *,true to allow everyone to have access to commands, this will be in the next update, till then you can add allowed commands in allowed commands if you just want to whitelist certain commands.

    To kick someone use /leaveteam with a parameter e.g. /leaveteam Mirosta would kick Mirosta (/leave or /leavet are shortened versions), /teamlist (/tlist) lists the first page of both teams, /teamlist gold lists the first page of gold team, /teamlist 2 gold lists the second page of gold team etc.
    I will add a friendly fire option, which will also be in the next update (which will include a lobby system).

    Are you trying to do pvp in the build time? Cause that's not allowed, although I will add that as an option if you so wish.
     
  3. Offline

    embty

    How do I enable it even in build time if that is possible and PVP didnt work after build time. Treid to check multiverse options to check if pvp false but the world doesnt show in mutliverse worlds.yml and pvp is enabled in every world i create by default.
     
  4. Offline

    Cognito guy

    BUG?: If you die in the game world after the game ended, it will spawn you at your "personal" (bed) spawn, in the homeworld, and will not give you back your inventory.
     
  5. Offline

    Mirosta

    Thanks! Fixed in next update.
     
  6. Offline

    sukosevato

    Is it just me or do you really need to run this on a seperate world?

    I installed this plugin for an arena some users created but the minute it got installed nobody in the world could build any more. Didn't see anywhere where I could turn this option off to allow build outside the arena either.

    Am I correct? That when a game runs nobody else can build or anything?
     
  7. Offline

    Mirosta

    Yes you really need to run it in a seperate world using /addgameworld WorldNameHere, or a dedicated CTR server, if you want to still use the arena, copy it with worldedit or an equivalent, trying to make it run on the same world as you use for normal stuff is risky and could end up with you ruining it. Alternatively you can give everyone the ctr.world.allowedit permission, which will allow them to build while not playing, PVP will be turned on in the entire world though, so be careful.
     
  8. Offline

    fatmarley

    my world suddenly has a bedrock wall in it...I didn't set teh wall or anything. The lag of removing it is giving me read time outs.

    Could you have the bedrock walls off by default in the next update config file?
     
  9. Offline

    _Hayleigh_

    Can you set it so the game reloads a specific saved backup when the game is over?

    ie: So games dont require admin support.
     
  10. Offline

    Mirosta

    I'll add that as part of continuous play, as in the to do.

    I thought it was off by default.
     
  11. Offline

    _Hayleigh_

    Good way to get around the no-continuious play is to install the CommandSigns addon, set reset arena to a higher level permission and give the sign to exit the arena two commands, the reset and the leave.

    Long as you only have it on the level "3" world save it goes really quickly.

    You can also do a lobby with command signs, I have a lobby in one world that takes you to another.
     
  12. Offline

    _Hayleigh_

    Any updates Mirosta ? Cant wait for real continuous play :)
     
  13. Offline

    Mirosta

    Some bugfixes and an option to put gold/green wool on the heads of players, I'm on holiday next week so expect the continuous update in 2-3 wks
     
  14. Offline

    Mirosta

    0.89 released!
     
  15. Offline

    Diaz9943

    Is this working with CB #1000? :)
     
  16. Offline

    _Hayleigh_

    Sure is Diaz.

    Thanks for update Mirosta :)
     
  17. Offline

    Diaz9943

    Ah, great! Now I dont have to reset my CTR arena manually..

    Does this randomize the location of ores and stuff on the game field on the reset?
     
  18. Offline

    Mirosta

    It uses the built in terrain generation in bukkit, so I believe so, trees will mess up a little, blame bukkit not me for that
     
  19. Offline

    fatmarley

    @Mirosta Recently put spout in and got a few of these errors in the regular world.

    Show Spoiler

    2011-08-22 14:38:44 [SEVERE] Could not pass event PLAYER_RESPAWN to CaptureTheRecord
    java.lang.NullPointerException
    at com.bukkit.Mirosta.CaptureTheRecord.CTRPlayerListener.onPlayerRespawn(CTRPlayerListener.java:791)
    at org.bukkit.plugin.java.JavaPluginLoader$3.execute(JavaPluginLoader.java:258)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
    at net.minecraft.server.ServerConfigurationManager.moveToWorld(ServerConfigurationManager.java:239)
    at net.minecraft.server.ServerConfigurationManager.moveToWorld(ServerConfigurationManager.java:204)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:870)
    at net.minecraft.server.Packet9Respawn.a(SourceFile:18)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:85)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)


    Would it be possible to define the world where CTR will be played in the Config file and then have the listeners( or whatever they are) just listen to that world?
     
  20. Offline

    Mirosta

    Unfortunately, they listen to all worlds, sorry, but I've fixed that error.
     
  21. Offline

    Mirosta

  22. Offline

    Neceros

    Hey!

    I'm trying to find a plugin that will allow me to make a randomly generated world (vanilla) and put up a large bedrock wall to separate the teams. After a set period of time the wall disappears and the game begins. This mod looks brilliant, but I'm worried.

    My intention is for players to be able to go out and find resources like normal during the build period. Also, I'd like the mod to control the flag/record and notify when the game is up, but also to automatically setup a small little flag room equal distance away from the bedrock wall on the ground for both teams.

    Everything else is fluff and your mod looks pretty nice. Should I give this a try, or keep looking? This reminds me of the Satori stream.

    When you talk about Worlds do you mean an entirely new map, or a spot designated in a current world? I'd prefer the entire world be available (excepting that which is off limits because of teams)


    I've seen a mod like this before. Look for WAR.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  23. Offline

    Holylon

    Help, my console got spammed with [Info] world since I installed your plugin! Why is that so?
     
  24. Offline

    Mirosta

    Can you send me some of the log? I don't think it is my plugin though...
     
  25. Offline

    Cognito guy

    Are you still going to work on my feature request where the game ends after the record has stopped playing, allowing a "defuse"?

    And is that auto world reset thing already out? so admins don't have to be around all the time?
     
  26. Offline

    Holylon

    Sorry, was on vacation... hm, cant find it anymore, if it comes back, i tell you
     
  27. Offline

    Mirosta

    Defusing would be difficult to implement, but not impossible, maybe in the future, I still have work to do on continuous mode. Version 0.90 is now out on dev-bukkit here - http://dev.bukkit.org/server-mods/ctr which contains options to reload one or more backups and do other stuff when games end.

    That's ok, thanks for the report. Please use http://dev.bukkit.org/server-mods/ctr/create-ticket/ to submit any new errors you may find.
     

Share This Page