Tech Admin blog
Tweak of the Week is our weekly roundup of server configuration changes where we list everything we changed during a specific calendar week.
General Change Log
- 2019-10-07: totemo updated CommandHelper in the lobby, fixing
/suggestion-box
there.
- 2019-10-09: totemo implemented a script automatically update a server to the latest Minecraft snapshot.
- 2019-10-09: totemo set up the snapshot server.
Web Site Change Log
Creative Change Log
PvE Change Log
Posted by totemo on Oct. 13, 2019 in Tech Admin
Tweak of the Week is our weekly roundup of server configuration changes where we list everything we changed during a specific calendar week.
General Change Log
- 2019-10-06: totemo accepted SafeBuckets PR #18 from Bermudalocket and released it as v1.1.20. Fixes:
- A dispenser containing an empty bucket cannot pick up water from a waterlogged block.
- Bubble columns cannot be flowed / bubble columns do not form from a single flowed water source.
- 2019-10-06: totemo fixed SafeBuckets bugs and released v1.1.21:
- Bukkit API 1.14.4 compliance (recognise the new sign types).
- Fix incompatibility with RecipeManager by making the custom glowing buckets fully comply with the API.
- Fix flowing bubble columns with unsafe buckets and the /flow command.
Web Site Change Log
- 2019-10-01,2,3,4: totemo worked on rendering BeastMaster configuration in HTML tables, as an exercise in learning Clojure and Cursive (IDE).
Creative Change Log
- 2019-10-06: totemo updated SafeBuckets to v1.1.20. Fixes dispensers with waterlogged blocks and bubble columns with
/sb flowsel
.
PvE Change Log
- 2019-09-30: totemo updated PvE to PaperSpigot build 207, which improves a few things, in particular noting elapsed time for some things that were not previously acknowledged by the Timings facility.
- 2019-10-06: totemo updated SafeBuckets to v1.1.21. Fixes dispensers with waterlogged blocks and bubble columns in all cases.
- 2019-10-06: totemo added RecipeManager and enabled the crafting recipe for Heart of the Sea (8 heart fragments in a ring).
Posted by totemo on Oct. 6, 2019 in Tech Admin
Tweak of the Week is our weekly roundup of server configuration changes where we list everything we changed during a specific calendar week.
General Change Log
- 2019-09-25: totemo spent a little bit of time moving old schematics into a folder structure. We have 809 schematics.
- 2019-09-28,29: totemo worked on restoring function to some performance measurement graphs. Renamed NerdStats (a stripped down JSONAPI work-alike) to NerdPerf, largely just to free up the former name, and started work on a Python script to query performance metrics and plot them with
rrdtool
.
Web Site Change Log
Creative Change Log
PvE Change Log
- 2019-09-26: totemo spent some time looking into the current state of WGRegionEvents and enabled it on PvE to support various NerdFlags features. The
warp
flag was removed from the NerdFlags
documentation since the code was removed some time ago. We'll probably address the deficit by adding a way to run commands in console, similar to the EasySigns opcmd
action.
- 2019-09-26: totemo clarified the documentation of the EasySigns
opcmd
action.
- 2019-09-27: totemo had to disable WGRegionEvents again because NerdFlags is locking the weather to rain in the overworld.
- 2019-09-27: totemo did some more investigation of performance measurements and incorrect entity counts showing up in timings reports. Chunks are a bit more complicated in 1.14. They are kept loaded by "ticket levels" which are explained a bit here and here. While on the subject, a few days back, a player complained about items despawning even though the chunks were not within the view distance. I guess that reinforces the idea that view distance is a separate concept from what the server loads and ticks. In the case under discussion, the player was about 125 blocks away from the dropped items (slightly less than 6 chunks) and they despawned.
- 2019-09-27: totemo did nothing to help this but, in 1.15, horses and boats will no longer vanish on dismount (unless Mojang manages to break them again before release). Just gotta hold on a little while longer.
Posted by totemo on Sept. 29, 2019 in Tech Admin
Tweak of the Week is our weekly roundup of server configuration changes where we list everything we changed during a specific calendar week.
General Change Log
- 2019-09-17: totemo modified EasySigns to accept floating point coordinates and optional yaw and pitch look angles for the
warp
(teleport) action.
Web Site Change Log
- 2019-09-21: Deaygo Fixed progress bars and added more indicators to the donation page.
Creative Change Log
PvE Change Log
- 2019-09-16: totemo updated PvE to PaperSpigot build 192, which includes upstream (Spigot) fixes for WorldGuard protection of campfires against flame arrows, among other things.
- 2019-09-18: totemo made several improvements to EasyRider. Particularly of note: horses are now listed in the order they were tamed.
- 2019-09-19: totemo made numerous improvements to BeastMaster. Now that Spigot has fixed its code for drop chances, BeastMaster has reverted back to straightforward handling of drops. That only leaves the mystery of why mob equipment (armour and held items) drops when the drop chance is set to 0. Well because Looting adds 1% to the chance per Looting level, of course! Apparently that's long been considered a bug in Mojang's code, however, that will be fixed in 1.15. To work around it, where we really don't want equipment to drop, we're setting the chance to a large negative value.
- 2019-09-20: totemo improved the BeastMaster documentation for items.
- 2019-09-22: totemo changed the Doppelganger equipment drop rates to be negative too, after a couple of reports of unexpected drops.
- 2019-09-22: totemo fixed dogs in
/petowner
after previously breaking it.
Posted by totemo on Sept. 22, 2019 in Tech Admin
Tweak of the Week is our weekly roundup of server configuration changes where we list everything we changed during a specific calendar week.
General Change Log
- 2019-09-10: totemo looked into some problems using scoreboards on the fundraiser development server and produced a work-around.
- 2019-09-11: totemo fixed another NPE in TPControl.
- 2019-09-13: totemo did some work on system performance monitoring tools.
- 2019-09-13: totemo transferred the 2019 fundraiser server from development to the production host, and along the way wrote an internal tech note on how we transfer and sanitise the databases.
Web Site Change Log
- 2019-09-10: Deaygo did more work on the donation page.
- 2019-09-13: Deaygo did more work on the donation page while his wife gave birth (!).
- 2019-09-14: Deaygo did more work on the donation page.
- 2019-09-15: Deaygo finished the donation page.
Creative Change Log
PvE Change Log
- 2019-09-11: totemo corrected an error in the LWC configuration. You can now lock a chest even without build rights in the region (as per last rev).
Posted by totemo on Sept. 15, 2019 in Tech Admin
Tweak of the Week is our weekly roundup of server configuration changes where we list everything we changed during a specific calendar week.
General Change Log
- 2019-09-05: totemo completed initial configuration of a development server for the fundraiser and loaded the world that was provided by the Head Admins.
Web Site Change Log
- 2019-09-04: Deaygo committed more changes to the donation page of the web site.
Creative Change Log
PvE Change Log
- 2019-09-02: totemo updated the server to PaperSpigot build 183. In principle, this resolves the bugs we raised for ravager crop grief and a systematic error of 0.1 (i.e. 10% chance) on the drop chance for mob equipment.
- 2019-09-02: totemo updated WorldGuard, resolving a bug where it blocked splash potions as PvP.
- 2019-09-04: totemo audited RecipeManager source code and opened a bug report for an exception on startup that renders the plugin inert.
- 2019-09-05: totemo raised a feature request with the WorldGuard project to protect campfires.
- 2019-09-08: totemo spent some time looking at a pull request to fix some SafeBuckets bugs.
- 2019-09-08: totemo raised a feature request to improve LogBlock logging of bamboo.
- 2019-09-08: totemo investigated limitations on
/signtext
not allowing owners of parent regions to edit signs. Getting a region parent is not possible with CommandHelper's SKCompat. That has to be added (per a feature request), or /signtext
written as a regular Java plugin command.
Posted by totemo on Sept. 8, 2019 in Tech Admin
Tweak of the Week is our weekly roundup of server configuration changes where we list everything we changed during a specific calendar week.
General Change Log
- 2019-08-29: totemo fixed
/i
and /give
to handle numeric IDs as well as new material names and namespaced material names. Tested on P and C.
- 2019-09-01: totemo enabled GC logging on BungeeCord. It's buttery smooth. Garbage collection is never triggered by low heap space. It runs at the 5 minute timeout and only pauses for about 0.2ms.
Web Site Change Log
- 2019-08-27: Deaygo made numerous changes to the website:
- Started rewriting the donation page for the new web site.
- Added commands to manage the list of past staff.
- Add delete and underline tags for Markdown rendering.
- Fixed blog absolute url.
- Fixed minutes in last edited readout.
Creative Change Log
PvE Change Log
- 2019-08-27: totemo raised a Spigot bug concerning WorldGuard being unable to detect Ravagers breaking crops.
- 2019-08-28: totemo fixed a NullPointerException on player login and numerous concurrency issues in TPControl.
- 2019-08-28: totemo fixed Doppelganger to treat
CAVE_AIR
(Minecraft 1.13) as equivalent to AIR
when checking the border around block shapes.
- 2019-08-30: totemo reported a Spigot bug affecting equipment drop chances.
- The BeastMaster work-around from 6 months ago for this bug in Spigot for 1.13.2 is still in effect and equipment should drop as expected if mob types explicitly set drop chances. There is a subtle latent bug in BeastMaster mob equipment drops if a mob is configured to not drop vanilla items at all (doesn't apply in our configuration). That will be fixed in due course.
- Doppelganger was re-tested and it was confirmed that doppelgangers do drop wither skeleton skulls as expected. Praise RNGesus. Doppelganger includes a work-around for a presumed vanilla drop chance bug affecting head drops from 6 years ago. Seen in that light, the current Spigot bug may in fact be very, very old.
- 2019-08-31: totemo opened a feature request with the Spigot project to implement API events for flame arrows igniting extinguished campfires, so that they can be denied by WorldGuard.
- 2019-08-31: totemo did more investigation of Java 12 garbage collector performance. GC pauses on PvE are now logged. Shenandoah does most of the GC work concurrently (while the JVM is running Minecraft code) and final pauses (where Minecraft stops executing) typically only take about 1.5 ms. With 19 players online, garbage collection happens every 50 seconds or so. This all looks fine to me. At higher loads (40+ players) the GC triggers every 20 seconds or so. Raising the heap size from 12GB to 16GB puts them back to about once every 50-60 seconds. Not sure if it's really necessary, but the RAM is available so we'll use it.
- 2019-09-01: totemo fixed permissions of the
/pinfo
and /petinfo
CH aliases.
Posted by totemo on Sept. 1, 2019 in Tech Admin
Tweak of the Week is our weekly roundup of server configuration changes where we list everything we changed during a specific calendar week.
General Change Log
- 2019-08-21: totemo upgraded the BungeeCord (and lobby) NuVotifier plugins to resolve its failure to load in BungeeCord following the upgrade to Java 12.
- 2019-08-22: totemo explicitly configured the MariaDB timezone to UTC, to match the system timezone. This resolved an issue with LogBlock recording edits 4 hours earlier than chat logs and ModReqs, perhaps due to the database having observed a different system timezone setting when the host booted. The current time at the server can be checked with
/date
.
Web Site Change Log
- 2019-08-20: Deaygo added extra Markdown formatting options for the web site (blogs etc).
Creative Change Log
- 2019-08-23: Dumbo52 investigated lighting bugs in FastAsyncWorldEdit and is working to fix them. Hopefully this will be resolved next week.
- 2019-08-24: Dumbo52 enabled our LastSeen plugin and migrated our existing
/seen
data to the new storage format. Creative was previously using a CommandHelper script to handle the /seen
command and data collection, but this was disabled in the 1.13 update. Unfortunately this means that /seen
has no knowledge of players' logins over the last 3 weeks.
PvE Change Log
- 2019-08-19: Deaygo fixed NerdyDragon mobs picking up player drops (and not dropping them again). (ModReq 1362).
- 2019-08-19: totemo worked on reducing false positives for NoCheatPlus CreativeFly checks and realised that the Y375 elytra ceiling was configurable. Now set at aprox 255+1280.
- 2019-08-19: totemo investigated a possible bug in either the PaperSpigot Timings v2 facility or entity ticking.
- 2019-08-20: totemo prototyped [REDACTED], but don't worry. It's just a decoy!
- 2019-08-21: totemo updated PvE to the latest PaperSpigot build, which includes the asynchronous chunk loading patch. They still have more work to do, but it is supposedly a big improvement in our case, where the map is pre-generated.
- 2019-08-22: totemo enabled the new per player mob spawning option in PaperSpigot. This makes mob spawning fairer in that a player cannot starve other players of mobs by exhausting the global mob cap with a grinder. Each player has their own local mob cap.
- 2019-08-22: totemo reported a possible bug in PaperSpigot's Timings v2 performance profiling facility.
- 2019-08-23: totemo defaulted seating to off in the spawn region with a WorldGuard flag due to players warping through the ship's hull and opened a feature request to allow seating to be disabled by default.
- 2019-08-24: totemo wrote an internal tech note on JDK 12, Shenandoah and ZGC and is investigating better monitoring tools.
Posted by totemo on Aug. 25, 2019 in Tech Admin
Tweak of the Week is our weekly roundup of server configuration changes where we list everything we changed during a specific calendar week.
General Change Log
- 2019-08-14: totemo fixed the
/dynmap
wrapper so admins can use all commands.
- 2019-08-14: Deaygo backed up dev host in preparation for OS distro upgrade.
Web Site Change Log
Creative Change Log
PvE Change Log
- 2019-08-12: totemo updated Minecraft Overviewer to 1.14 and enabled PvE 24 cartos to render once per day.
- 2019-08-12: totemo updated CommandHelper with a potential fix for WorldEdit failures, per this bug report.
- 2019-08-14: Deaygo updated NerdyDragon for PaperSpigot 1.14.4.
- 2019-08-14: totemo fixed the visibility limits on the
mapworld
live map and updated the dynmap plugin to 3.0-beta5. We may need to fly around and do spot renders to fill in the map. The full render only seems to show chunks that have been loaded by a player at some time.
- 2019-08-14: totemo updated EasyRider to allow arbitrary saddle disguises.
- 2019-08-16: totemo adjusted NoCheatPlus to allow elytras and slow fall potions.
- 2019-08-16: totemo diagnosed a bug with NerdyDragon mobs not dropping picked up items. (ModReq 1362)
- 2019-08-17: totemo improved documentation and added new features to EasySigns, as version 2.3.0.
- 2019-08-17: totemo did initial investigation and plugin configuration of PAdmin secret project [REDACTED].
- 2019-08-17: totemo fixed HelpHelp for PaperSpigot 1.14.4 and added conveniences for tracking the raw help text.
- 2019-08-17: totemo fixed
/myregions
(use sudo()
in CH, not runas()
) and also granted permission to list own regions with /region list
.
- 2019-08-18: totemo reported a WorldGuard bug whereby ravagers can trample crops. Looks like it's caused by an omission in Spigot.
- 2019-08-18: totemo installed and configured Java 12 and Shenandoah GC on dev and production hosts, for PvE and BungeeCord. Shenandoah is a low-latency, parallel garbage collector that avoids long garbage collection pauses.
- 2019-08-18: totemo investigated a Y375 ceiling on elytras. It's NoCheatPlus, it's not configurable and it's not obvious where it occurs in the 2500-line SurvivalFly check source code.
We'll report a bug, but don't get your hopes up. Actually it's a false positive in the CreativeFly check and it's fixed. :)
Posted by totemo on Aug. 18, 2019 in Tech Admin
Tweak of the Week is our weekly roundup of server configuration changes where we list everything we changed during a specific calendar week.
General Change Log
Web Site Change Log
- 2019-08-07: Deaygo added a Tech blog.
- 2019-08-11: Deaygo added past mods to the staff page and related tools.
Creative Change Log
- 2019-08-04: Dumbo52 installed LightCleaner, a plugin that will allow admins to fix lighting in certain areas of the map. We previously used FastAsyncWorldEdit's
//fixlighting
for this, but as of 1.13, this command breaks lighting (as do many other WorldEdit operations) instead of fixing it. We'll investigate the root cause behind this in the coming weeks to find a better solution. Until then, players can submit a modreq to fix lighting in their region.
- 2019-08-07: Dumbo52 modified
/i
to handle old (numeric) item IDs.
- 2019-08-08: Dumbo52 re-enabled Creative's overviewer map. Because of the time it takes to render, this will only be updated every 3 days.
- 2019-08-11: Dumbo52 restored the wooden shovel as the WorldEdit wand item. Reverting to the wooden axe was a symptom of a larger issue caused by an undocumented change in how FastAsyncWorldEdit reads its configuration files.
PvE Change Log
- 2019-08-09: totemo forked WorldBorder and added a work-around for SPIGOT-5252 that fixes portals on PvE. Code submitted to WorldBorder as PR #152.
- 2019-08-09: totemo raised a bug on WorldEdit failing to load and taking down WorldGuard and other dependent plugins.
- 2019-08-10: totemo fixed NerdSpawn's handling of beds when returning from the end.
- 2019-08-11: Deaygo made PvE 24 dynmap tiles visible.
- 2019-08-11: totemo raised a bug on CommandHelper, which may be the root cause of WorldEdit failures.
Posted by totemo on Aug. 11, 2019 in Tech Admin