Legends Ultimate Arcade Review

As promised in my last post, this is my review of the AtGames Legends Ultimate (ALU) cabinet.  This is based on my setup experience plus about two and a half months of actually using the cabinet.

Assembly and setup

Setting up the cabinet was a relatively painless experience.  The assembly in particular was fairly easy.  The cabinet comes in one box and the only tools required are screwdrivers.  All you really need to do is assemble the base, which is essentially an empty box.  The top of the cabinet, which contains the monitor and all the electronics,  comes pre-assembled, as does the control panel.  So the assembly process is essentially:

  1. Put together the box for the base.
  2. Put the monitor box on top of that.
  3. Put the control panel on top of the base as well.
  4. Plug everything in.
  5. Screw everything down.

That's it.  There really wasn't much to it.  This was simpler than most pieces of furniture I've assembled.

The more annoying part was the software setup.  This wasn't difficult, but it involved connecting the cabinet to my WiFi and creating an account with AtGames, both of which are awkward without having an actual keyboard to work with.  The account signup was also a little weird in that I initially wasn't sure that it actually worked.  It did, so I think it was just a UI issue, but it was still a bit strange.  But for the most part, it was no big deal - just going through the setup wizard.

One thing that's worth noting is that the Legends Ultimate doesn't actually take up as much room as you might think.  I can stand at the controls, stick my arm out, and reach the back of the cabinet.  Since it's using a modern LCD display, rather than a vintage CRT, it's fairly compact.  That means it can be tucked into a nook or corner with relative ease and not end up dominating an entire room.  

Navigation and UI

The alphabetical carousel browser

The ALU has a...quirky UI.  I assume that the reason for this is so that they can re-use it across products.  While the ALU has a trackball and spinners in addition to the joystick and buttons, the ALU Mini (a smaller, single-player version of the ALU) does not.  So the UI is designed to be used with just the joystick and buttons.

The UI itself looks nice enough, and has configurable background colors and music.  The navigation is odd, though.  It uses a two-level carousel model.  The main display area has a carousel of games/options that you move through to the left or right using the joystick.  You can "zoom out" (with the Z button) to a text-based carousel that lets you scroll horizontally through the alphabet and then vertically between the available options for each letter.  This part is not super intuitive, but it's reasonable and it works.

Below the main carousel is a menu bar that lets you navigate the various sections of the UI.  This includes things like the built-in games section, the ArcadeNet section, the settings section, etc.  You use up and down to switch between the main carousel and menu bar.  The menu bar also has sub-menus that are accessed by pressing the Y button on the appropriate item.  To get back, you have to go back to that same item in the sub-menu and press Y again.  It's not that bad once you get used to it, but it's definitely a weird and unintuitive user experience.

Personally, I would have loved to see AtGames leverage the trackball to allow a more traditional point-and-click type of interface.  Maybe you could even facilitate scrolling with the spinners, who knows?  It's just kind of tedious to have to scroll through all the options every time.

Built-in games

AtGames advertises the Legends Ultimate as coming with 300 games.  However, as with any collection of 300 games, not all of them are good.  In fact, in this case there are some that you would just never want to play, like most of the Atari 2600 games.  (If you're too young to remember it, the Atari 2600 wasn't exactly great the first time around.  It was better than nothing, but it couldn't hold a candle to the arcade games of the time.)  And of course there are also plenty of arcade games in the mix that are stinkers.

And I should also mention that the built-in game selection contains a few duplicates.  By that, I mean it has both the arcade version and the Atari 2600 version of some games.  Which, of course, is pointless, because if you have the arcade version, why in God's name would you ever want to play the Atari 2600 version?  So the "300 games" claim is true, but a little misleading.

It's also worth noting that the game selection seems to vary.  It's not clear to me if that's due to release date or if the Sam's Club version just has different games.  But I've seen several variations of game lists, and I know that my unit did not include some of the games listed in some of them.  It did include all of the games that were shown on the cabinet, though.  It's just not clear how much you can count on any specific list.

The game selection - actually not bad

The favorites screen showing Burger Time

That said, it's not a bad selection.  There are a handful of "big name" classics that I was familiar with, including Centipede, Asteroids, Missile Command, Elevator Action, and Burger Time (one of my favorites).  But I've also discovered a number of games in the mix that I'd never heard of, but which are actually pretty decent (Boogie Wings springs to mind).  It takes a while to explore them, and I haven't even gotten to all of them, but it's a decent variety and there are definitely some fun games in there.  I'd guesstimate that most people can probably find at least a dozen games they like, probably more if you're adventurous.

I also found several games games for platforms other than the Atari 2600 collection.  For instance, there were a handful of NES games including R.C. Pro-Am and Battletoads.  There were also a few that appeared to be for the NeoGeo or possibly Sega Genesis  There doesn't appear to be any pattern to the choices, at least that I could see.  I assume it's just "what was affordable to license".  

Incidentally, the "extra" controls are a nice addition for some games.  It's very cool to be able to play Missile Command with an actual trackball.  Likewise, playing Tempest with the spinner is a nice touch.  And, of course, I mentioned the pinball buttons in the last post.

Speaking of which, my version of the ALU came with four built-in pinball games.  They're all from the "Natural History" series, which is apparently an AtGames original.  I'll have more to say about pinball below, but these are actually quite good.  The only problem is that they don't always run.  Sometimes the work fine, and sometimes they crash, trigger a "no input" screen, and eventually restart the unit.  Apparently that is a known issue, or was at one point - I seem to recall mention of it in some firmware release notes, but it still happens.  I find this very disappointing.

ArcadeNet service

In addition to the built-in games, AtGames has their ArcadeNet service, which allows you to download additional games.  Their website claims that there is both a free and paid tier for this service.  I got a 2-month free trial with the ALU, which recently expired, so I've now seen both.

That said, I'm not really sure what they meant by a "free" tier as described on their webpage.  From what I can tell, that just means you can browse the available titles.  It doesn't seem like you can actually play anything with it.  So maybe that page is just out of date.  (Note: Out-of-date web pages seems to be a pattern for AtGames.)

It's worth noting that the 300 games that come with the Legends Ultimate seems to account for nearly all the games in their library.  When I browse the ArcadeNet games from my ALU, nearly everything is pinball.  There's only a handful of other games available, none of which looked interesting.  And while the ArcadeNet page does have a list of games on it, not all of them seem to be available.  I browsed through some of them and found several (e.g. Metal Slug) that were not preinstalled on my ALU and were not listed for download in the ArcadeNet UI.  So apparently that list is out of date.  (See what I mean about a pattern?)

One of the Zaccaria pinball tables

That said, I actually have downloaded a number of pinball tables from ArcadeNet.  They appear to have most of the tables from their "pinball packs" on there, and I've found them all to be very good.  As I mentioned in the last post, my unit came with the side-mounted pinball buttons (which you wouldn't think makes much difference, but it really does) and I've really been enjoying them.  I particularly like the Zaccaria tables, as they have a nice background ambiance and have some "updated" versions of classic tables with some more modern features.  Some of the tables are a little slow to load, and slow to get back to the menu when you exit, but the play experience is very good.  (Note: if you have the pinball buttons, you'll want to change the "pro mode" setting to "side" to make them work as expected.)  I've occasionally had some slowdowns or stuttering on some tables, but that's pretty rare.  For the most part, they seem to run very smoothly once they're loaded.

However, I did not resubscribe to ArcadeNet when my free trial expired.  While I like the pinball tables, and having the leaderboard integration is cool, the price of $20/month seems high to me given what you get.  And while this page advertises "6 months for $60", which seems more reasonable, the actual purchase page says it's $100 for 6 months or $180 for a year.  (There's that out-of-date info again.)  That comes to $15/month, which is better, but it still seems high.  When you consider that they offer "pinball packs" for $30 or $50 that include between about 4 and 25 tables, the math just doesn't work.  So instead of resubscribing, I just spent $50 on the first Zaccaria pinball pack, which included 26 tables, which should hold me for a while.

Bring Your Own Games

One of the really nice things about the Legends Ultimate is that you're not limited to the AtGames offerings.  They have a "BYOG" feature to "Bring Your Own Games".  There are actually three variations on this, of varying usefulness.  Let's start with the best first.

BYOG - Loading UCE files

This is a fantastic feature.  As mentioned in the last post, the ALU has a couple of USB ports.  You can use these to access external games.  Turns out it's really easy.  All you have to do is get some games packaged in UCE format, load them on a FAT32 formatted flash drive, and stick it in the ALU.  It will pick up the drive and add a "BYOG" item to the system menu where you can access them.  (You might have to run their AddonX utility on it first, I'm not actually sure.)  They don't get all of the bells and whistles that are supported for the built-in games, but they support enough and work just fine.

I don't really know much about what the "UCE format" actually is.  From what I can gather, it seems to be a folder containing various metadata such as images for the UI, the game ROM, and possibly a the MAME core needed to play it.

Much of the documentation I found around this was focused on installing CoinOpsX on the ALU.  CoinOpsX is another MAME front-end for managing and playing your games.  Apparently it used to be available for installation on the ALU from AtGames online store, but at some point they removed it and broke compatibility.  However, it turns out that you don't actually need CoinOpsX to run external games.  It may offer a better UI - I haven't used it, so I can't say - but it is not required, so no need to worry if you can't figure out how to install it.

On-the-go (OTG) mode

The next best option for playing your own games on the ALU is the "on-the-go" mode.  This is essentially just plugging a PC into the ALU.  You just need an HDMI cable for A/V and a USB cable for the controls.  Your PC will detect the control panel as a joystick of some type and the screen as another monitor.

The nice part about this is that it's easy to use and extremely flexible.  Since the ALU effectively becomes a monitor and a controller, you can play pretty much any game your PC can run.  You may have to go into the menu to switch to OTG mode, but it's a pretty simple process.

The less nice part is the controller setup, which I still have not figured out.  To be fair, I haven't put much time into it, but the point is that Windows didn't configure the control deck as transparently as I would have liked.  The nice part is that it picked up the spinners and trackball.  However, the button and joystick mapping didn't work as I'd have hoped.  It turns out that Windows detected the joystick not as the main joystick, but as a POV hat, which is...less than helpful.

You can apparently fix this with a tool called X360CE, which stands for Xbox 360 Controller Emulator.  This allows you to make your joystick mimic an Xbox 360 controller, which nearly any modern game can handle.  However, I have not yet managed to make this work.

Legends Link streaming

The last option is their streaming solution, which was apparently called Legends Link.  I say "was" because this option apparently no longer exists.  However, they have not removed it from their website.  (Again with not keeping things updated.)  Instead, they've left the page with a broken link to the installer and this blatantly broken info box:

2025-07-12T19-15-14-145Z.png

That's right, for the low, low price of "$ monthly", you too can have zero hours of streaming and zero persistent storage!  What a deal!

For what it's worth, I was able to find a version of the Legends Link installer on archive.org.  I tried it out and, as you'd expect, it just flat-out doesn't work.  I put in my info, clicked the "connect", button, and waited forever while it tried in vain to connect to the server.  After a few tried, I gave up.  It's a joke that they still have this on their website and in their marketing material.

Bottom line

Pros

  • Cool cabinet with relatively low profile that's very easy to assemble
  • Good controls, including specialty controls (trackball, spinner, pinball buttons)
  • Reasonable price point (especially from Sam's Club)
  • Decent built-in game selection
  • Easy to expand with additional games
  • Really good selection of pinball games available at reasonable prices

Cons

  • The AtGames website is an unholy mess of bad information
  • Boot-up is slow
  • Game loading/unloading is sometimes slow - usually for pinball (most arcade games are fine)
  • The subscription service is a bit overpriced for what it offers
  • The main navigation UI is serviceable, but a little clunky

Recommendation

Overall, I'm quite happy with my ALU.  It's not perfect, but it offers a good gaming experience, a decent game selection, and enough expandability to fill in the holes.  I would definitely recommend it.  If you have the time, money, and inclination, I'm sure you could easily build a custom MAME cabinet that offers a superior experience.  But if you're looking for a "product" rather than a "project", I think the Legends Ultimate is a good solution.

New toy - AtGames Legends Ultimate Arcade

This year, I got my wife a bigger-than-usual gift for Mother's Day.  It was a vintage topaz ring that matched some earrings I'd gotten her in Mexico several years ago.  It's in a similar style to her engagement ring.

In the spirit of reciprocation, she wanted to get me something nice for Father's Day.  So I suggested a couple of things and let her choose.  She picked the cooler of the options - an AtGames Legends Ultimate Arcade cabinet.

legends-ultimate-large.jpg

I'd been eyeing arcade cabinets for a while.  Of course, I'd considered building a custom MAME cabinet myself, but to be honest, I didn't really want a construction project, just the end result.  I'd also looked at the possibility of just buying a cabinet, but they tend to be a little pricey.  For instance, I'd seen some custom cabinet builders selling just the cabinets (not electronics) for around $1,000.  To be fair, they were very nice cabinets, but that seemed a little much.  Also, I'm not particularly interested in putting together just the electronics either, so it would still be a little bit of a project.  So I wanted to go with something pre-built.

One option that I originally considered was the Arcade 1Up machines.  I'd seen these in the local Walmart and they actually looked pretty nice.  The design was very authentic to old-school arcade machines and they were very reasonably priced, with some of the units being as low as $300.  However, they also aren't full-size, so to be able to play the games standing up, you need to either build or buy a riser for another $60.  They also come with a limited selection of games, usually a dozen or less.  And even if you can mod them to add more, the controls are really only designed for the built-in games, so you're limited in what you can do.

The Legends Ultimate does not have such limitations.  My introduction to this cabinet was actually playing an older version of it at the Strong National Museum of Play.  They have one in the retro arcade that's free to play, and it seemed quite nice.  It had several classics that I enjoy (including Burger Time and Elevator Action) and the controls were very good and flexible enough for a variety of games.

(Correction: After going back and looking closer, it turns out the unit at the museum wasn't from AtGames.  The Strong actually had the Chicago Gaming Company Arcade Legends cabinet.  That system has been discontinued, but it was very similar to the ones produced by AtGames.  When I Googled it, I just put in "arcade legends" and the AtGames website was the top hit, hence my confusion.)

For the record, if you're considering this cabinet, I would recommend getting it from Sam's Club, which is what we did.  When I first looked it up, the list price was around $550.  However, since then it has gone up to $900 on their website.  But when my wife ordered it, Sam's Club was still offering it for $550.  And it seems AtGames has a special deal with Sam's Club to include some extras in their version.  So I got 2 free months of their  premium ArcadeNet service as well as the pinball button attachments that you can see on the side of the cabinet.  I've been enjoying those more than I thought I would.

I'll do a separate post with a review and break-down of my experiences with the Legends Ultimate, but so far I'm enjoying it.  It's got a decent selection of built-in games (they advertise 300 games, which is...technically true), good controls (including a trackball, if you want to play Centipede, and spinners for...I don't know what), and a fairly decent selection UI experience.  It's also expandible, with a very subtle expansion panel in that metal strip between the controllers and the screen.  In fact, you can see that I have a flash drive plugged into that panel.  They have a very nice BYOG (Bring Your Own Games) feature which allows you to load up a drive with games in UCE format, plug it in, and they just show up.

So I'm happy.  I've got a nice selection of vintage arcade games and a cabinet that gives me an actual authentic arcade play experience.  And, while it may not be an authentic design, I think it actually looks pretty cool.  And that counts for something.

Belated Christmas Mission 2024

I'm only about five months late, but I promised my son I'd write a post about this past year's Christmas Mission, so here it is.

This year, the Christmas Mission was a collaborative effort.  My wife had been doing the Murdle puzzle books and our son really got a kick out of them.  If you've not seen them, they're basically logic puzzles, except that each puzzle has a story and the stories all connect to make one big murder mystery.  The stories are also pretty funny, which is part of what appeals to our son.  So this year's mission was a Murdle.  My wife wrote the story and the puzzle.  She also enlisted her friends to make short videos reading the clues.  Each one of them played a different character in the mystery and presented the clues in-character. 

My job was to distribute the clues in various hiding places and to create short encrypted messages leading to the next clue.  I also collected the video files, uploaded them, and created QR codes for them so that our son could scan them with his phone camera and watch the videos.  The messages were encrypted with a simple substitution cypher and I helped walk him though a little frequency analysis to figure out the key.  (All the messages used the same key, because otherwise we would have been there all day.)

Overall, this one was a hit.  Our son enjoyed doing it and he really liked the story.  He thought the videos were really fun, and I think those really made it special.  

I got lazy on the encryption this year and just wrote a short Powershell function to do the work for me:

function encode($data) {
    $code = @{
        'A' = 'U'
        # ...
    }
    $ucInput = $data.ToUpper()
    $output = ''
    foreach ($i in 0 .. ($ucInput.Length - 1)) {
        $letter = $uCInput[$i].ToString()
        $item = $code[$letter]
        if ($item) {
            $output += $item
        } else {
            $output += $letter
        }
    }
    Write-Output $data
    Write-Output $output
    Write-Output " "
}

Here's an export of the puzzle itself.  I took out some of the details and video links, but this has the good stuff, i.e. the story.  Here's the setup, which includes all the clues and people.  I think my wife did a great job with it.

Deductive Logico and his partner Professor Irratino are finally taking a well deserved holiday vacation to the Bermuda Triangle.  As his intern, you have gone to a Christmas charity ball to accept an award on his behalf.  This year’s host is Sir Rulean, heir to a vast shampoo empire fortune. 

Unfortunately, that fortune will go to his next of kin, as the magnate is dead when you arrive at the Grand Hotel.

Logico is relying on you to solve this murder as your first real case!

Follow the clues and fill out the puzzle to find out who did the deed, what weapon they used, where they killed him, and their motive.

The Suspects:

LADY LAVENDER

Sir Rulean’s wife, a self-proclaimed psychic and mystic.  She’s mostly famous for getting every prediction wrong…including those about the sports matches she bets millions on.

5’2” * Brown Eyes * Auburn Hair * Scorpio

MADAME MAGENTA

A savvy businesswoman and sweater enthusiast.  She has the world’s finest collection of argyle cardigans.

5’1” * Brown Eyes * Brown Hair * Capricorn

PROFESSOR PINK

English professor and crazy cat lady, who got lazy a few years back and let her cats type all her scholarly articles.  No one noticed.

5’3” * Blue Eyes * Blonde Hair * Taurus

HENNA HUMAN

Absolutely not three penguins in a trench coat, why would you even ask?

7’2” * Sunglasses * Scarf * Virgos

The Locations:

THE CHRISTMAS TREE

Indoors.  A grand 12 foot Douglas fir in the main foyer of the hotel.  Tastefully decorated, but shedding needles everywhere.

THE KITCHENS

Indoors.  Don’t look too closely at the ingredients for the soup.

THE FIRE PIT

Outdoors.  A great place to cuddle up by the fire and make some s’mores.  Or get rid of a body.

THE PENTHOUSE SUITE

Extremely swanky, and extremely expensive. 

The Weapons:

A SHARPENED CANDY CANE

Light weight, made of sugar.  A beloved holiday treat, great for giving you minty fresh breath or stabbing your enemies.

A POORLY DISGUISED GIFT

Heavy weight, made of resin.  A suspiciously bowling-ball shaped package, wrapped unevenly in lime green paper with a frayed purple ribbon.  Great for knocking down pins, or people.

POISONED CHRISTMAS COOKIE

 Light weight, made of sugar and poison. If the poison doesn’t kill you, the diabetes might.

STOCKING FULL OF COAL

 Medium weight, made of fabric and mineral.  For when you’re REALLY on the Naughty list.

The Motives:

TO AVOID BLACKMAIL  --  SHEER ANGER  --  PROFESSIONAL JEALOUSY  --  TO PAY A DEBT

 

Using a docker proxy in WSL

I recently started working on a web-based project that has some non-standard networking stuff going on in the dev environment.  The fix was easy, but took a little searching, hence this post.

The codebase itself is built on Node JS, but I have to run it in WSL.  There are various build issues that keep it from building cleanly in Windows and it would be a bit of work to fix that.  But it builds just fine under WSL, so it's easier to use that.

The dev setup uses a Docker container running HAProxy.  It's set up to proxy the static portion of the website to the shared dev server (which is on the VPN) and direct the traffic for the dynamic part to a local port.  So we have a HAProxy running in Docker, the local dev server running in WSL, and the browser running in Windows.

The problem: In the default WSL config, this doesn't work.  The proxy to the shared server works just fine.  So if I go to wwwlocal.site.com, that works as a proxy to wwwdev.site.com.  Perfect!  However, wwwlocal.site.com/login is supposed to proxy to localhost:4321, but that results in a 503 error.  However, I can go directly to localhost:4321 and it works just fine, so this is clearly a networking issue.

The solution was to just add a few lines to my $home\.wslconfig file on Windows.  The following lines did the trick:

[wsl2]
networkingMode=mirrored
dnsTunneling=true
autoProxy=true

You can read more about these settings here.

Christmas mission 2023

Apparently this is just going to be a thing now.

This past Christmas marked the third annual Christmas Mission for my son.  It started simple enough, with a semi-educational crypto puzzle two years ago.  Then there was last year's mission, which involved multiple puzzles and a theme.  And he loved both of them, which is great.  But now it looks like I'm going to be coming up with one every year for the foreseeable future.

This year's mission was very involved.  Maybe a little too involved.  The Word document I used to take notes and print out the clues was eleven pages this time, including charts and graphics.  It had five "quests", plus the introduction and conclusion notes.  It took a while to complete, but apparently this one was a hit too, so I guess I'm doing something right.

This year, Zane wanted to be included in designing his mission.  Obviously the puzzles were up to me, but he had some requests for the theme.  Last year was Peanuts/World War I.  This year, he wanted it to be based on Minecraft.  And not just "regular Minecraft".  He came up with an elaborate plot outline involving an actualization of the Internet drama war between Minecraft and Fortnite, because apparently that's a thing.  It involved a spy mission, crafting things, resurrecting the Ender Dragon, and getting messages from various Mojang staffers.  I jotted all this down in OneNote and Zane double-checked my notes several times leading up to Christmas.  So at least he was engaged, which is good.

My first task was to try to hammer these notes into a semi-coherent story.  Since it was supposed to be a spy mission that involved an "actual war" between Minecraft and Fortnite and the resurrection of the Ender Dragon, I somehow got the rather dark idea of a mission to use the dragon as a biological weapon to destroy the world of Fortnite.  Granted, that probably constitutes genocide and is certainly a war crime, so not exactly a happy Christmas story.  But it made sense as a motivation and used the desired plot elements, so I ran with it.

The second task was to break this up into a series of missions.  One of Zane's notes involved creating an End Portal using the Eye of Ender.  Apparently you can craft this from some glass, a Ghast tear, and an Eye of Ender.  So I decided to base the missions around that.  We would gather the ingredients for an Eye of Ender so that he could craft the End Portal and send the Ender Dragon to the world of Fortnite.

But how do you resurrect an Ender Dragon?  I don't play Minecraft, so I've got no freakin' clue.  However, my sister-in-law was giving Zane a Dungeons and Dragons themed gift, which gave me an idea - magic!  Why not?  I mean, how would you resurrect a dragon?  When in doubt, just call it magic and get on with your life.

So with that, I came up with five quests.  For each one, I wrote a note from one of the aforementioned Minecraft staffers giving a puzzle to solve with a hint on the location of the next letter.  It started with an introduction letter laying out the quest to wipe out the world of Fortnite and directing him to the living room to find the first quest letter.  For the first three quests, I also included a printout of the ingredient itself, lifted from the Minecraft wiki.  The quests were as follows:

  1. First quest: Get the glass.  This involved solving a simple logic puzzle.  The glass was in one of the kitchen cabinets, but he couldn't just look in all of them because it's very delicate and too many vibrations would shatter it.  So the puzzle laid out a few rules and Zane had to deduce which cabinet it was in.  
  2. Second quest: Get the Ghast tear.  This one was a simple Morse code message.  The letter included a hint directing Zane to the bathroom to find a key to decode the Morse hidden with the spare toilet paper.  The decoded message directed him back to the living room to look under the coffee table.
  3. Third quest: Get the Eye of Ender.  This one was another relatively simple decoding, this time of an ASCII-encoded message.  This one was a two-step problem, as the letter contained a series of 8-bit binary numbers and a hint pointing to the kitchen silverware drawer, which contained an ASCII chart.  So Zane had to convert the binary to decimal and then do the character lookup.  The decoded message pointed to the bathroom sink, where the next message was hidden in the cabinet underneath.
  4. Fourth quest: Build the End portal.  This quest was a bit more involved.  The puzzle was to decode some text, but there was a different key for each line.  (There was only one word per line, so I was nice about that.)  A hint pointed Zane to a "decoder disk" that he got at a gift shop on our trip to Gettysburg last summer.  It came with directions on how to use a two-character key to decode a message.  So the letter said that each line had a different key at the start, followed by a space and then the message.  It actually took a bit to get Zane to figure out how that was supposed to work, but he did get it eventually.  The message led him to the coat closet, which had a Minecraft storage box that was supposed to serve as the crafting table to make the portal.
  5. Fifth quest: Resurrect the Ender Dragon.  This one was difficult.  To resurrect the Ender Dragon, the letter directed Zane to see his aunt, who was holding a "magic scroll" for him which would serve as the key.  The "scroll" was actually a printout of a page from an old Dungeons and Dragons manual, particularly the page for the "Wish" spell, which seemed an appropriate way to resurrect a dragon.  The puzzle was actually a set of 4--tuples, one per line, values separated by dashes.  At the bottom was a hint that these were coordinates, hinting that the page was divided into columns, which had lines, which had words, which had letters.  The idea was that, e.g. 2-5-3-4 would map to the fourth letter of the third word of the fifth line of the second column.  Clearly this was not as clear to Zane as it was in my head, because he had a hard time trying to figure out what he was supposed to do.  I eventually had to guide him through it, but once he got the idea he was able to decode the message successfully.  

The last message pointed Zane to his laptop.  His success letter was tucked inside, telling him that I'd installed a copies of Minecraft Java Edition and Minecraft Education Edition, as well as setting up a Minecraft server for him to play with.  He's been into Minecraft for a while, but hadn't had it on his computer, so that seemed like a suitable way to finish out a Minecraft-themed quest.

At the end of the day, Zane seemed pretty happy.  This was definitely a more involved mission than last year, and the puzzles were more challenging for him, but he said he enjoyed it.  So I count that as a success.  And at this rate, I suspect he'll want another mission this year, so I'll have to start planning earlier.