Update: We've set up permissions for any tourist to come try it out at defenestration.co! Installations on other servers are ongoing!
Update: A save file is now online! Download it an try the station out in single player! The only annoyance I noticed vs. SMP was that you have to get out of a cart before destroying it again. This save file includes both the 1.4 version using conventional boosters and the new 1.5 version using power rails. Enjoy!
Defenestration Station is designed to serve the needs of a high-traffic regional hub for a minecart train system. It aims to use best-of-breed techniques for each subcomponent to produce a station that can conveniently and reliably handle multiple passengers leaving simultaneously to the same or different locations. It takes into account many of the quirks of multiplayer (SMP) that make this goal difficult to accomplish.
The station packs these features into a relatively small area using a vertically stacked design with a single floor for each distinct function, generally with few visual obstructions on each floor so the entire station can be quickly and easily inspected for potential problems. This has the side effect of making it more fun to watch in action!
Here's a brief introductory video with a sample departure and arrival after relatively short transits.
This minecart station has the following features:
- Eight destinations, each with an incoming and outgoing line.
- Four departure terminals, each independently addressable to any of the destinations and simultaneously usable. Rider detection is used for launching departures. Each is independently boosted and space is reserved to increase booster power if needed.
- Twelve disembarking stations for new arrivals, switched to give arriving passengers time to collect their cart.
- Modular design that can be expanded for either more destinations or terminals while still having all of them be switched and interconnected.
- Functional areas are unobtrusive and contained in a rectangular area, allowing you to replace the entire cosmetic portion of the station with your own aesthetic preference in architecture.
- Completely vanilla construction and operation. Requires very advanced building techniques, but works perfectly in an unmodified SSP game or SMP server.
The most notable missing feature is minecart collection and dispensing, since we haven't found a good solution that doesn't amount to minecart communism propped up by admins loading the items. Without a fairly involved plugin scheme, there's nothing to stop people from jumping out of minecarts and then collecting them. Space is reserved in the station for a minecart storage system, with filling and reloading the departure terminals.
The station consists of a purely cosmetic surface structure (replace it with your own!) and three basement levels:
- Passenger Departure/Arrivals Deck: consists of the four button arrays, launch points for departures and arrival stations.
- Minecart Switching and Routing Deck: A flat trainyard-style area where carts are sent to the selected outgoing track or boosted into the arrival area.
- Circuit Deck: Mostly empty now, thanks to phenomenal advances in redstone using repeaters! Could be repurposed as a bunch of pez-style cart storage stacks.
This first post is a work in progress, because the task of documenting and publishing the station is proving to be proportional to the amount of research and design that went into it. Construction and testing of this station have been ongoing for about four months, and the research and reliability testing is rock solid at this point.
I'll do my best to crank through all the steps of publishing this behemoth of a design project.
Major to-do topics are:
- finish the retrofit for the massively improved repeater-based circuits COMPLETE!
- post the schematic! COMPLETE!
- finish a few schematic drawings
- extract the area from MCRegion so you can try it without fighting .schematic limitations
- Move it from a private server to an awesome public server (Aurora!) Work started!
- booster design
- the routing deck
- list references for all the original design threads here, credit original designers
- Thanks to the phalanx of contributors and testers who graciously contributed time and insight
- brief discussion of why certain other interesting designs are not used, like the smart and c-boosters. (Generally the answer to "why isn't X included" is an obscure SMP bug that emerges after repeated testing.)
This is a placeholder post. Between the image-per-post limit and the likelyhood that future advances will change some design choices, this post will be used to hold details of the rider detection, launching and boosting process, right up to the point where a rider is switched.
This is a placeholder post. Between the image-per-post limit and the likelyhood that future advances will change some design choices, this post will be used to hold details of the circuit designs used to select destinations, the method of transmitting signals, and the initial destination switching signal up to the point where a rider reaches the general routing track assembly.
There's actually a main thread on the topic of compact minecart station buttons. Redstone repeaters changed the game entirely, to the point where ballroom-sized masses of redstone are a thing of the past, even for an 8 bit memory array like this station requires. Here's the current design by KeithMajhor. Just amazing.
This is a placeholder post. Between the image-per-post limit and the likelyhood that future advances will change some design choices, this post will be used to hold details of how arbitrarily many departure terminals can be individually connected to arbitrarily many destinations on a single layer of track without lots of confusing and complicated changes of elevation.
The basic idea is to arrange "freeways" of adjacent parallel tracks all going in the same direction. Because sufficiently boosted minecarts all have the same (maximum) velocity, collisions are very unlikely in this arrangement. Each station produces a group of parallel outbound tracks that are merged into common freewaysleading to each of the destinations. This track arrangment, combined with the merging sections, allows several departure terminals to lead into a common set of destinations in a compact arrangement. It's built entirely in the same plane, with no rising or falling tracks, which makes it both easy to maintain and fun to watch. It's also an entirely passive system, using track turning rules instead of lots of redstone switching to merge all the terminal routes together and then split them off to the correct destinations.
Of the entire station, I think the track layout merging two 4-lane track "freeways" is the only part that hasn't been published before. The rest is just taking good ideas from other places and trying to assemble them together nicely.
The major downside is that some of these tracks are a pain to place, requiring careful sequences of placing, destroying and replacing track, sometimes hiding redstone underneath key locations to cause the track to lay correctly.
Here's a very simple schematic of the layout! It also illustrates the relatively small footprint into which all of this routing is packed. (29x33 on this floor, and this is the most space-consuming part of the station!)
I know, I know it does not live up to the name. BUT! Everyone on the project has agreed to reserve the eighth and final destination for a route labeled "Fiery Death" that serves no purpose other than to eventually and circuitously throw the rider out of a very high aperture into lava.
There is a distinct lack of persons and/or belongings being tossed through a window, I am disappoint. Digging the design though. Well organized, compact, and aesthetically pleasing. Congrats.
Quote from bravejango »
am i the only person that saw the title and thought oh goodie a way to throw people out of windows to their deaths?
Quote from Shrimp3000 »
Nice traffic system, but needs more throwing things out windows.
I PROMISE that a window will be available very soon, and you are, individually and collectively, specially invited to be thrown from it.
Seriously, though, thanks for checking it out!
Defenestration refers to the entire collaborative project that includes both the station and it's various destinations. There are a great many windows from which an appropriate number of falling deaths have resulted. (Along with various monuments commemorating those events.)
- MCEdit severely mangles complex track placement on //paste. This one is horrible. But I made an amazing accidental discovery: If you //paste the clipboard twice in the exact same spot, the second //paste command replaces all the mis-pasted track with the correct tracks!
This means you can //paste the entire .schematic twice and (assuming there were no water blocks where the repeaters failed to place), then all you need to do is place the repeaters (which is still annoying but not as insane as fixing all the track), place all the booster carts, and this high-traffic-capably full-featured station will be usable on your server!
I think this is the one of first published minecart stations specifically intended to be used on a high-volume server with a lot of players online using it simultaneously. This brings up:
Some problems that haven't been widely discussed for minecart stations:
- Popular servers have a lot of new players who can and will screw up even the most basic instructions on how to use a station.
- There will be a small but nonstop stream of players actively trying to break it, for reasons ranging from malicious griefing to simple curiosity about it's resilience.
- We're installing 8 copies of the station as regional hubs, and I'd prefer not to form a station-fixing-task force that has to constantly maintain the stations. It should mostly not break.
Can anyone suggest ideas for the best way to set up protections in SMP while still leaving the station usable? Most approaches rely on plugins, but maybe there are architectural changes that could be made?
Some architectural approaches to reliability are already in place:
[*:3smntoyp]Simple boosters that can be easily diagnosed on sight. (One of the reason there aren't C- or smart-booster designs here. Both can break in ways that require expert knowledge of their systems to diagnose.)
[*:3smntoyp]Every booster cart has a clearly labeled home location, directly underneath a gold block. So the entire maintenance regime is:
[*:3smntoyp]If there is ever a stationary unoccupied cart that is not under a gold block, it doesn't belong there. Remove it.
[*:3smntoyp]If there is a gold block with no cart under it, replace the cart. (or look for a VERY nearby cart and push it back.)
[*:3smntoyp] The entire routing deck is one flat area with nearly no visual obstructions. Any uncaught runaway carts are all visible from anywhere on the deck. There's no uphill tracks anywhere in the switching and routing process for all 32 possible terminal/destination combinations.
[*:3smntoyp] The redstone switching is extremely simple. There's basically no way to mess that part up short of placing/breaking blocks.
[*:3smntoyp] The boosting deck is similarly simple to evaluate, though the redstone wiring means it's not all visible at once.
Plugin-related options under consideration:
I'm assuming a large server with any kind of openness in recruiting must be using Bukkit and some flavors of permission and protection plugins. Otherwise even attempting something as complex as a Minecart station would be an exercise in futility.
Here's some major routes you might go to use plugins to keep a station functional:
[*:3smntoyp]Plus: Lets you protect regions from block breaking/placing but still allow interactions with vehicles/buttons
[*:3smntoyp]Minus: Seems a little more volatile than other plugins, and may be more vulnerable to the permissions plugin fights that still seem to be going on.
[*:3smntoyp]Minus: Doesn't seem to have the granularity to permit block/vehicle interaction while blocking block placement. You'd have to build several cuboids surrounding the row of buttons to protect only what players aren't allowed to touch.
[*:3smntoyp]Plus: Has unparalleled support and active development. Too ubiquitous to be considered optional by permission plugin factions.
[*:3smntoyp]Assume things will break. It's not likely that plugins will ever offer perfect security, and every new Minecraft release breaks bukkit anyway. So, instead, keep a .schematic of each station installation and //paste it in at the first sign of trouble, instead of trying to diagnose which redstone was broken or which track changed direction. That way the only vulnerable part is the repeaters and the actual location of carts. Presumably pasting repeaters will be fixed soon, anyway.
Any comments out there? I guess I should be bumping this thread more, since the number of views means it's still lost in the shuffle, but I'm pretty sure this thread has minecart topics you won't find anywhere else!
Wow!! That is an awesome junction design Zorac, I never knew it was possible to compact it that much. The four sub-station layout works great.
I must agree with the previous poster, the glass floors make the station a wonderful display of functionality.
The only think that is lacking is full automation, with storage systems and a design that only requires 3 clicks (destination select, boarding, disembarking). That is totally up to preference though and takes up a lot of space, so I think everyone will agree that this is currently the most effective and well done SMP station out there.
Thanks for the replies! Automated cart storage and delivery is definitely the next feature to be added, along with speeding up the launcher cycle.
However, first we need to demonstrate this station under the harsh, high-load conditions of a popular server. I'm partway through eight (!) installations of the station as regional hubs on Aurora.
It is both a chance to stress-test on a public place where there WILL be grief attempts, and a chance to demonstrate how the underground design lets you include the station in a wide variety of designs.
Here's the first draft of the station terminal built for CakeTown!
Really! It's a train station. A Yummmmmy train station.