Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
Added new commands:
bc-undo - the new method for undoing import and block commands. The undo list is now a single list for both commands. block /undo and import /undo are removed.
bc-editmode - allows you to set the world into editmode, which enables features such as the vanilla prefab command for generating meshes, and importing without having to use the /editmode option. Be wary of using on populated servers as I have not tested the ramifications of doing so.
Improvements and fixes:
'bc-assets itemicons' now returns Mods folder icons as well as the vanilla icons, along with a count of baked icons and total
'block density' now has a /force option to bypass the built in density validation based on block type (only block command supports this, not blockrpc)
'bc-go /filters' and 'bo-go /index' are now available for listing the filters that can be used for the various game object types
bc-task - Added a status of Aborted (to go with InProgress and Complete) to indicate tasks that were canceled before completion (such as 'visit /stop'). Changed the output to be fully json encoded. Added the full command line text used to the output for each task listed.
visit - improved the displayed text, includes progress % on both the message returned if you run it while it is in progress and the bc-task output. visit now has the option to give 4 params to define a multi region visit
Fixed the positioning bugs in the export and block commands
Added a check of tile entities and setting meta for locking doors on export
Added bc-remove /ecname=zombieScreamer etc as a filter to remove all zombies with the same entity class
New since version 2.2.3
Improved param validation and command feedback
SetSkills - Added ability to edit skills while offline. Added unlock for locked skills to fix issues with mods changing skills
Added BCPrefabs - Command to access the info and editing of prefabs in the server's prefab folder
Added BCEvents - Command for controlling the events system and viewing data about the current state
Altered BCRemove - Added a /minibike filter that is required to remove minibikes even when using 'bc-remove /all'
Added BlockRpc - Command for single block rpc block changes, all without chunk reloading required.
Changed Visit Region - Command now accepts multi-region params and reports percentage complete if calling visit while one is in progress
Altered Chunk Observer - removed the y co-ord as it was irrelevant for chunk observers
Added RemoveBuffFromEnemy - Remove a buff from any living entity
Added meta1 / meta2 / meta3 sub command to both block commands. This allows for opening doors(e.g. blockrpc meta1 x y z /meta=1 or 0), or turning lights on / off (e.g. block meta1 x y z x2 y2 z2 /meta=2 or 0) with a command
Added Events system
DeadIsDead - Player file backup, restore, and trigger deadisdead boot and remove profile options
LogCache - Can be used to display the data from the log entries to console
PingKicker - Use threshhold and count settings to define when someone will be kicked for high ping
PositionTracker - Record player movements over time
Defined reactive vs heartbeat events. Reactive is set up to wait for an action to happen, heartbeat occurs on the designated ticks.
Fixed up the code for many commands which will alter some of the params and options available. Help docs should be updated to reflect new usage
Updated: added a filter to exclude player backpacks and loot container destroyed bags from the mutation
Added support for Dropped Item Spawn Mutation to adjust lifetime and optionally log the id, stack count, name and position
To enable the feature the heartbeat system must be enabled (in System.xml) and the spawn mutator enabled, with the "EntityItem" in the options list, and config="SpawnMutator" as a new attribute
<Synapse name="entityspawnmutator" enabled="false" beats="30" options="EntityEnemy,EntityNPC,EntityItem" config="SpawnMutator"/>
The SpawnMutator.xml (leave the .xml off in the config="" bit) is found in a new 'Events' subfolder in the config (or DefaultConfig) folder
<SpawnMutator> <Lifetime value="120"/> <!-- seconds --> <LogDroppedItems value="false"/> </SpawnMutator>
Update: There was a couple of issues with the bc-give command that are now fixed.
- removed extra array wrappers on some datasets
- Improvements to the bc-assets command
- bc-assets meshes will return the embedded xml file converted into an object list for easier reading.
- Added current ruleset to rwg data output
- Improved bc-lp command
- added a last saved property. This indicates how long ago the server received player data and saved it (online players only) - this will allow SM's to base update requests smartly on the last save time (or allow SM's to poll for the last save field only, then call a full update request when it resets)
- Added more null checks, especially around the datacache used for online player data
- Limited the array returned by the equip filter to only the slots where items can be placed (instead of a 32 value array with many nulls)
- bc-version - added the full version info for 7d2d entry (i.e 16.4 (b8) instead of just 16.4)
- Added bc-give
- allows admins to place items directly into player inventory, rather than throw it on the ground (see help bc-give for more details)
- Added a /sm flag, which returns the help output in json format
- Added details json info for individual commands (i.e bc-help /sm version would output the info from help version but encoded in json format)
An update to the Web UI will follow later (most likely this weekend)
Added additional info to the bc-go prefabs command
Be aware that on the exec after a server reboot the bc-go prefabs command will take a while (approx 7-10 secs for vanilla list)
After that, the data will be held in memory so the prefabs won't need to be loaded from disk. To cache the data the first run should use /full. After that, a filtered lookup will return just the requested info. This will be improved later to build the cache regardless of info requested by the first exec.
Big refactor of import and block commands:
import now uses the same area defining system as tile entities.
The name now comes at the start rather than the end of the params list
blocks now have subcommands instead of /options for the different types.
Additional subcommands has been added (see help for more details):
scan - gives stats on blocks within the area given - param * for block name will give stats on all blocks
fill - the block specified is rendered into the area given or the area between the stored loc (see bc-location) and your current location
swap - replaces the second block specified with the first block specified within the area given.
repair - removes all damage from blocks in the area
damage - causes damage to blocks in the area
upgrade - sets the blocks to the next step in their upgrade path, if any
downgrade - sets the blocks to the next step in their downgrade path
paint - paints all sides of blocks in the area
paintface - paints one side of blocks in the area
paintstrip - removes all paint from blocks in the area
density - sets density on blocks in the area
rotate - rotates blocks in the area
tile now has a settext subcommand for editing sign texts
Recompile for 16.4
Minor tweak to bc-time
Fixed the function name references for the bc-sleeper and bc-reset chunk commands
Minor breaking change with a few commands.
The player persistent data has an additional field. It should be compatible with older saves, but if you have any issues delete the BCMData folder in your save game folder.
Full details on the forums
Added bc-sleeper command
bc-sleeper list - full world sleeper volume list
bc-sleeper chunk - list of volumes in a chunk
bc-sleeper clear - clear volumes from a chunk
bc-sleeper volume - detailed info on the given volume
Added bc-reset command
bc-reset chunk cx cz - will reset the given chunk
Added bc-task command - this allows you to see what subthread tasks are currently running, and potentially output from completed tasks.
Added async options to bc-te - use /forcesync if you want to ensure it runs synchronously (mostly for web api commands). In console and telnet the async reply will be sent when the task is complete. For web api requests the result is sent to log as well as stored in bc-task output.
Added spawn command - spawn horde and spawn entity options. You can define both the spawn area, and the moveto location, as well as a count and min/max radius from spawn etc.