Solstice of Heroes Engrams

Solstice of Heroes is now a week old, and three weeks of earning special seasonal event drops, upgrading armor sets, and completing Moments of Triumph remain before we start transitioning to Season Four and Year Two of Destiny 2.

If you haven’t participated in a seasonal event in Destiny 2, or if the last seasonal event you participated in was The Dawning around the turn of the year, it might be unclear how the limited-time Solstice Engrams function. Let’s talk about what they are, how you get them, and how they work, so you can spend the rest of the event either optimizing for obtaining the stuff you want or ignoring that this grind exists.

What are Solstice Engrams?

Solstice Engrams are the method by which Destiny 2 hands out cosmetic items from the loot pool for the Solstice of Heroes limited-time event. They contain emotes, Ghost shells, Sparrows, weapon ornaments, armor glows (more on this later), shaders, and transmat effects.

How You Earn Solstice Engrams

When normally playing Destiny 2, once you have reached maximum level, you receive a Bright Engram every time you reach 120,000 experience points. You can see how close you are to your next Bright Engram by looking at your character screen and checking the bar that appears at the top.

Starting with Crimson Days earlier this year, limited-time event engrams drop as bonus engrams whenever you would normally receive a Bright Engram. Every time you reach a new 120,000 point XP threshold, you will receive both a Bright Engram and a Solstice Engram, which you then decode for loot at Eververse in The Tower.

Note that you can only receive Solstice Engrams when leveling up once you are at the level cap—currently Level 30. You do not receive Solstice Engrams from:

  • Levels from 20-30. You will receive only Bright Engrams from those level increases.
  • Bright Engrams earned via the Contender’s Shell during raid activities on the Leviathan. You will only receive Bright Engrams from those drops.

At the start of the Solstice of Heroes event, each of your characters receives one Solstice Engram for free from Eververse. The remaining engrams must be earned via leveling up alongside Bright Engrams.

How Do Solstice Engrams Work?

When you decode a Solstice Engram at Eververse, you’ll receive the following randomly-selected rewards:

  • One item from the event cosmetic loot pool. This pool contains emotes, Ghost shells, Sparrows, weapon ornaments, and armor glows.
  • Either a pack of three shaders or a transmit effect from the repeatable loot pool.

The event cosmetic loot pool operates using a “knockout system.” For that portion of the engram drop chance, if you have received one of the available loot options in a previous Solstice Engram drop—even if you have dismantled that item—you will not receive it again until you have received all possible drops from the loot pool.

This also applies to items you purchase directly from Eververse using Bright Dust. If you purchase an item from the store using Bright Dust directly, it is removed from the engram’s loot pool until you have earned all possible drops. If you plan to attempt to earn all possible rewards from the Solstice Engrams, you can decrease the amount of time and number of engram drops it will take to do so by directly purchasing some of the cosmetics from the store

You can check which items have already been knocked out of your personal loot pool by inspecting the potential contents of Solstice Engrams. Items you have already received will have blue triangles on the lower-right corner of the item icon with a tick mark. You can see examples of how this looks in my screen captures of the available items below.

What Items Are in the Solstice Engram Loot Pool?

There are two Exotic emotes, five Legendary emotes, and three Rare emotes, for a total of ten possible emotes:

Two Exotic Ghost shells, two Exotic Sparrows, six Legendary Ghost shells, and six Legendary Sparrows, for a total of eight Ghost shells and eight Sparrows:

Four weapon ornaments and five armor glows of each subclass alignment, for a total of fifteen armor glows:

(Armor glows are special ornaments you can unlock for the Solstice of Heroes armor set. For more information on the Solstice armor set and leveling it up, please read my guide here.)

Seven possible shaders, and six possible transmat effects:

Remember that shaders and transmat effects are not part of the knockout list, and can never take the place of a knockout list item in an engram decode. You can and likely will receive duplicates of these items before you have them all.

What You Need to Earn to Acquire Every Item from Solstice Engrams

Doing the arithmetic, with:

  • ten emotes
  • eight Ghost shells
  • eight Sparrows
  • four weapon ornaments
  • fifteen armor glows

There are 45 cosmetic items in the knockout list. If you have three characters who have completed the required story missions, you’ll earn three engrams for logging in at the start of the event, giving you 42 remaining drops to earn.

You’ll need to earn 11 engrams per week to earn everything in the loot pool. Remember that the first three Bright Engram levels you earn in a given Destiny week (which runs Tuesday to Tuesday) are earned at an accelerated pace of triple the normal XP gain, so spreading your time between your characters is recommended for the first nine engrams you want to earn in a week.

You can reduce the number of engrams you need to earn to complete a collection by purchasing items from Eververse directly. Ghost shells, Sparrows, weapon ornaments, and emotes are available as direct purchases using Bright Dust, and all items will rotate through the available stock over the four week period of the event. They cost varying amounts of Bright Dust depending on the rarity level of the item in question.

You can also purchase a random armor glow from Eververse for 1000 Bright Dust. The elemental alignment of the available random glow changes daily, and you receive one random slot glow you don’t already have with each 1000 Bright Dust purchase.

Enjoy the Event

As always, if you have any questions I didn’t answer, have a guide you’d like to see on my site, or have corrections I can make, please send me a reply on Twitter; I’d love your feedback. You can also follow me on Twitch here if you want to be notified when I start streaming—I often stream Destiny 2 and talk about various ways to get stuff done in the game.

Moments of Triumph Guide: Celebrating Year One of Destiny 2

At tomorrow’s reset, Destiny 2 players start celebrating the Solstice of Heroes event—the culmination of the first year of Destiny 2 and a send-off leading into the release of Forsaken and the start of Year Two.

Part of Solstice of Heroes includes the Moments of Triumph, which are specific bounties you can complete for your Destiny 2 account for completing various activities throughout the first year of the game. The initial Moments were made public on July 7th, but a group of them remained hidden and couldn’t be completed until Solstice starts tomorrow.

I previously revealed these hidden goals here and explained what they are and how many points towards the maximum score they would provide. But in this guide, I’d like to cover the entirety of the Moments of Triumph and what they’ll provide to you when you earn them, so you know where to focus your attention for the remaining five weeks of Season Three and Year One.

You can also read up on Bungie’s official guide to Moments of Triumph and how they will work here. The deadline for completing the Moments of Triumph is 28 August 2018.

Where Can I See My Moments of Triumph Progress?

You can access your Moments of Triumph bounties by visiting the Statue of Heroes in the Tower. Once you have accepted the Bounties that give you the Moments of Triumph for turn-in, you’ll be able to see them in the Pursuits tab of your inventory.

You can also access your Moments of Triumph progress on in your account profile section. Sign in to, and click on the avatar for your account on the top right.

Then, select the View Profile option from the menu that appears.

Near the top of your profile on the page that will load next, there is a space with your current Moments of Triumph score. You can click on that to view a more detailed breakdown of the Moments you have or have not already completed.

The maximum number of points you can earn prior to the launch of Solstice of Heroes is 225.

What Are the Rewards for Completing Moments of Triumph?

There are five direct rewards available from Moments, and they each require a set number of total points. You will collect these rewards from the Statue of Heroes in the Tower.

Complete Any One Triumph: “Renewed Triumph” Emblem

125 Points: “The Right Choice” Ghost Shell

250 Points: Moments of Triumph T-Shirt Discount Code

For more information on the T-shirt, please see this page on the Bungie Store. The shirt can be personalized.

300 Points: Comrades in Arms Sparrow

400 Points: “Eternally Triumphant” Emblem

What Are the Moments of Triumph, and How Much Work Will They Be to Complete?

Here’s where we get down to what you’ll need to do if you want to earn that final emblem variant, or any prize along the way. We’ll start with the goals that are worth the least amount of points—as they’ll be the easiest to accomplish.

Some of these goals will be difficult to grind out on your account if you haven’t been playing Destiny 2 throughout the first year. We’ll talk about those, as well. And if you haven’t seen it yet, I have already written a guide to the requirements and optimizations for upgrading the Solstice of Heroes armor set, which is a key part of this process. You can find that guide here.

10 Points: Bringer of Light

Complete Destiny 2’s base campaign missions. If you progress quickly, this will take a handful of hours to run through. Most players of Destiny 2 will already have this Moment completed.

10 Points: Follower of Osiris

Complete the Curse of Osiris campaign. This Moment requires ownership of the first DLC pack. The Curse campaign is quite short and should take you only a couple of hours to complete.

10 Points: Awaken the Warmind

Complete the Warmind campaign. This Moment requires ownership of the second DLC pack. This campaign is also quite short and will take you only two to three hours to complete on a single character.

10 Points: Running Errands

Complete 25 Bounties. These are the Bounties you can collect from either Shaxx or Zavala in the tower, and require playing either Strikes or in the Crucible to complete. You should work on this Moment while completing armor progression that requires playing in either Strikes or the Crucible to optimize your time.

10 Points: The Hero We Deserve

Complete 25 Public Events on Heroic difficulty. Simply complete Heroic Public Events while on patrol. This should also be combined with grinding out armor progression to save you time. Don’t go after this Moment directly, but work it into your armor grinding.

10 Points: Treasure Hunter

Collect all Region Chests. You’ll need to get a list of the chests you have and have not opened. The best path to completing this is to make sure you have opened all of the chests using a single character. You can find which you are missing by looking at your profile on If you find that one or more are missing, try collecting them on your remaining characters.

You can find maps and locations for these either at Lowlidev’s mapping site or on the checklists at

15 Points: Fleeting Memories

Collect all 45 Latent Memories. This goal requires ownership of the second DLC pack. The Latent Memories are the elemental “plates” you can shoot throughout the Mars patrol zones. They gate the collection of Worldline Zero and the G-335 Anseris Overdrive Sparrow.

These are per-account, so you can collect them with any character you wish. You can find maps and locations for these either at Lowlidev’s mapping site or on the checklists at

15 Points: Check Out My Arsenal

Obtain 25 Exotic weapons or armor. You do not need to have all 25 in your Vault or inventory at once; you only need to have had them at any given time. If you are short here, you should consider saving Legendary Shards and purchasing any Exotics you have not already earned from Xûr each weekend. You can see which Exotics you have collected at Destiny Sets.

15 Points: I Will Smash You

Defeat 100 opponents in the Crucible. You can achieve this in any game mode and with any weapons, but they must be non-private matches. You should achieve this goal during your armor progression and will not need to grind specifically for it.

20 Points: Show Me the Way

Obtain Sagira’s Ghost Shell. This goal requires owning the first DLC pack, and is the goal that will take many people the most time and effort if they have not been collecting Forge weapons throughout Year One. How to achieve this via grinding is a bit much to describe here, but you can find a solid guide to doing this on Eurogamer here.

You will accomplish this partially through armor progression grinding, but the items necessary to complete the Forge quests are not available every week. You should target this grind specifically and make sure you have completed every Lost Prophecy available in a given week before reset if you don’t have this one completed already. Complete your armor progression, and then start grinding for the necessary materials as soon as you can.

20 Points: The Very Best

Reach Vanguard Rank 50 in Season 3. This will also take you some time if you have not been running Strikes throughout the most recent season. You will make part of this progressing while upgrading armor sets, but will likely need to grind Strikes specifically as well to complete it if you don’t already have some rank.

Turn in Vanguard tokens to Zavala to progress your Vanguard Rank. You can see your seasonal rank on Zavala’s vendor screen, and the rank is shared by all characters on your account.

The fastest way to do this is to purchase Boons of the Vanguard from Zavala’s inventory using Legendary Shards, and have all members of your fireteam use one at the beginning of each Strike you run.

20 Points: Adventurous

Complete 20 Adventures. If you are fully progressing armor, you’ll need to run multiple Adventures anyway and should collect this Moment along the way—just make sure you run 20 different Adventures.

Adventures you have not yet completed will appear on the map in your Director. You should complete the 20 separate Adventures on the same character to ensure this Moment counts.

20 Points: Hive Extermination

Complete Tier 7 in Escalation Protocol. This Moment requires ownership of the second DLC pack. For Bungie’s guide to Escalation Protocol, please see here.

Escalation Protocol is an endgame activity that generally requires a coordinated fireteam. It can theoretically be done by a high-level team of three, but it is recommended that you attempt to instance with six or even nine players.

If you need a group to complete this task, please check various LFG services such as the100 to find a group.

20 Points: Valor Fabled

Reach Fabled in Valor ranking in Season 3. Valor is earned by playing in the Crucible in any playlist other than Trials of The Nine. This grind may take a significant amount of time if you have not played much Crucible. You’ll receive some progress towards this by doing armor progression tasks, and if you choose to Masterwork your armor set, will need to go even further to Legend rank.

You shouldn’t grind this separately until you have stopped upgrading your Solstice armor. A pure grind for this goal will take many hours.

20 Points: The Emperor

Defeat Calus in the Leviathan Raid. You’ll need a clear of the Emperor Calus encounter from the Leviathan raid activity. This will require a pre-formed group of six players, and is an endgame activity that will require a time investment and learning some complicated encounters.

If you need a group to accomplish this, consider checking LFG sites such as the100 to find a group.

20 Points: Prove Your Worth

Complete the Eater of Worlds and Spire of Stars Raid Lairs. This Moment requires ownership of both DLC packs. Completing these activities will require pre-formed groups of six players, and a time investment in learning the mechanics of each raid activity and the coordination necessary to complete them as a group. These are endgame activities.

Again, LFG sites such as the100 will help you to find groups. Many of these sites have specific searches you can run to find players willing to teach new raiders. Give them a try.

25 Points: In My Element

Collect 250 Elemental Orbs. Elemental Orbs are drops that come from enemies, much like ammunition drops. They can drop from any enemy you defeat, but are more likely to drop from Majors or Ultras. Elemental Orbs are most likely to drop the element of your current subclass, but can also drop the element of any weapon you use to defeat an enemy. Elemental Orbs are not generated in the Crucible.

If you are attempting to upgrade the armor set, these Orbs will drop for you as part of meeting those requirements, and you won’t need to grind for this Moment separately.

30 Points: Remember Who You Are

Complete each Redux Mission at least once. The Redux Missions will be more difficult versions of five selected missions from the base game’s campaign. You’ll need to play these anyway if you are upgrading your armor set, and will not need to grind for them separately.

50 Points: Fashion Hero

Upgrade the full Solstice of Heroes armor set to Legendary quality. This will take a significant amount of time to complete, and will require running various activities multiple times to accomplish. One goal will require you to either have a pre-made group of three players or to use the Guided Games feature to complete a Nightfall Strike.

You can find my guide to upgrading the Solstice of Heroes armor set here.

50 Points: Above and Beyond

Masterwork any Solstice of Heroes armor. This appears to mean any armor piece, not a full set. Masterworking the Solstice armor will take a significant amount of time or practice for some players and will require a group to accomplish in almost all cases. My guide to upgrading the armor set covers these requirements as well.


That’s what you need to do to grab all 400 points in this year’s Moments of Triumph. My son and I will start our grinding tomorrow evening into a day I’ve scheduled for us to spend upgrading armor on Wednesday. We’ll be streaming most of the day and I invite you to join us then. Follow my channel to be notified when we’re running.

If you have comments or corrections for this post, please drop me a line on Twitter and let me know.

Happy hunting!

Solstice of Heroes: Armor Progression Guide

Destiny 2’s Solstice of Heroes event doesn’t start until next Tuesday, the 31st of July, but thanks to some API information that’s already been added to support the event, we can take a look at the requirements for progressing the armor set unique to the four-week-long celebration.

If you don’t yet know about Solstice of Heroes, Bungie’s post announcing the event is here.

What You’re Grinding For

The gear central to Solstice of Heroes is a full set of armor for each class. When the event starts, you can obtain your uncommon-rarity set from the Statue of Heroes, which will be located in the central spawn area of the Tower.

The set has four levels of progress:

  • An uncommon-rarity set that looks like the destroyed armor set from the opening missions of the Destiny 2 campaign, and is fixed at 200 Power;
  • A rare-rarity set that has the silhouette of the starting (non-destroyed) armor set from the opening of the Destiny 2 campaign, is completely white in color, and is fixed at 340 Power;
  • A legendary-rarity set that has additional ornamentation and patterns and is fixed at 400 Power; and
  • That same set, upgraded to be Masterworked. You cannot Masterwork this armor set using Masterwork Cores.

When you unlock a new tier, the previous tier of armor becomes available as a permanent cosmetic ornament. All Solstice armor sets can also unlock armor glow effects, which we’ll talk about in a later post on Eververse and Solstice of Heroes.

You must upgrade the armor one full set at a time. Armor upgrades are earned per-class.

You aren’t required to upgrade the armor at all or participate if you don’t want to. The event is optional. However, if you are chasing the maximum score in the Moments of Triumph for Year One, you’ll need to:

  • Raise one class’s set of the armor to legendary; and
  • Raise one armor piece to Masterworked.

You can read more about the currently-hidden requirements for Moments of Triumph in my previous post.

What to Grind

For each level of armor upgrade, you’ll have a different set of objectives to complete. Up through the Masterworks steps, these goals are somewhat similar from class-to-class and can be obtained through most gameplay activities, though you will have to engage in specific activities for some of the armor pieces.

Requirements are per-class.

Let’s lay out the requirements based on attempting to upgrade the entire set from one tier to another, and attempt to provide a strategy for doing so. First, we’ll look at the requirements necessary for an entire set to move from one tier to the next, and then provide some strategies for optimization and helping others with accomplishing their armor progression.

Pre-Masterwork, you’ll need to:

  • Wear the entire armor set to generate Elemental Orbs, which are a new kind of drop that has not yet been announced or defined. The instructions for the initial helmet pieces indicate you’ll need to wear the full set to generate them at all.
  • Complete Redux Story Missions, which are a set of five specifically-chosen replay missions from the Destiny 2 campaign, with new enemies and higher difficulty.
  • Collect Elemental Orbs, sometimes in specific locations.
  • Score kills in Crucible PvP and win Crucible matches.
  • Defeat enemies, sometimes in specific activities or with specific abilities or weapons.
  • Complete Patrols, Strikes, Heroic Strikes, Nightfall Strikes, Heroic Public Events, Meditations, Adventures, and Challenges.

To complete the Masterworks, you will need to:

  • Complete the Prestige Nightfall at or above the bonus threshold. (The bonus threshold is 100,000 points.)
  • Complete Heroic Strikes in a fireteam that includes at least one clanmate.
  • Complete the Prestige raid “Leviathan.”
  • Achieve Legend in Valor Crucible ranks.
  • Defeat Ultras. (I think; the requirement says “bosses.”)

Only the Legend Crucible rank goal is retroactive. To obtain it, you’ll need to wear the full Legendary armor set and then complete one Crucible match for the requirement to “register.”

From Uncommon to Rare

To upgrade an entire set from uncommon to rare rarity, you’ll need to do the following:

  • Complete each Redux mission once.
  • Complete one Meditation.
  • Complete 10 Patrols.
  • Complete 10 Heroic Public Events.
  • Collect 150 orbs each from two of the three elements.
  • Collect 90 orbs from one element specifically in Strikes.
  • Collect 90 orbs from one element specifically on Earth.
  • Defeat 50 “minibosses.” (I am assuming these are Majors: un-named yellow health bar enemies.)
  • Score 10 kills by any method in PvP.
  • Score 30 kills specifically with your Super in PvP.

We can break these down into two classes of goals:

  • Specific activities you need to accomplish
  • Specific orb or kill counts you need to attain

The optimal way to accomplish this, especially in a group, will likely be:

  • Complete all Redux missions.
  • Complete the Meditation.
  • Complete the Patrols and Heroic Public Event goals in the EDZ.
  • Play PvP until you have completed the PvP requirements.
  • Run Strikes until you have completed the Strike-specific orb requirement.

As you run these activities, you should switch elements and subclasses as you need to for the generation of Elemental Orbs to gain ground on those tasks as well. Once you have completed the specific activity requirements, you can earn the remaining Orbs in any zone or method you choose.

Clans wishing to organize this step should break into:

  • Story mission fireteams
  • Patrol fireteams
  • Strikes fireteams
  • Crucible fireteams

From Rare to Legendary

To upgrade an entire set from rare to legendary rarity, you’ll need to:

  • Complete each Redux mission once.
  • Complete three Heroic Strikes.
  • Complete one Nightfall Strike.
  • Complete 10 Adventures.
  • Complete 20 Challenges. (This requirement is Hunter-only in the game text and may be an error.)
  • Defeat 500 enemies.
  • Defeat 200 enemies with a specific subclass’s Super.
  • Defeat 160 enemies with an Energy weapon of a specific element.
  • Defeat 120 enemies with a Grenade ability of a specific element.
  • Defeat 80 enemies with a Power weapon of a specific element.
  • Defeat 60 enemies with a Melee ability of a specific element.
  • Win 5 non-private Crucible matches.

This is the final list of tasks you will need to earn the 50-point Moment of Triumph for progressing one entire armor set to legendary rarity.

The optimal way to accomplish this based on the available information will likely be:

  • Complete all Redux missions.
  • Complete the Heroic Strikes.
  • Complete the Nightfall Strike.
  • Win 5 Crucible matches.
  • Complete 10 Adventures. (You can replay Adventures by visiting a specific location’s vendor.) While you are doing Adventures, you should attempt to complete that location’s Challenges for the day. Once you have completed a location’s Challenges, you should rotate locations for a new set and do Adventures there.
  • Complete the remaining of the 20 Challenges, if any.

As you run these activities, switch weapons and subclasses to use the ones prescribed by your class’s armor requirements. The elements are different for different classes.

Once you have finished the specific activity goals, you can complete the remaining ones in any order or method you like. Strikes or Lost Sectors combined with Public Events are probably very good activities to run that will give you ample opportunity to both stay topped up with ammo and give you things to shoot.

Clans wishing to help others through this step should break into:

  • Story mission fireteams
  • Strikes fireteams
  • Crucible fireteams
  • Patrol/Adventure fireteams

Any fireteams that have purposes overlapping with the previous tier should be able to successfully group together for purposes of sharing the activities and supporting each other.


The grind to Masterworks mostly revolves around pinnacle activities in Destiny 2.

Each piece of armor has a separate requirement.

  • Helmet: Complete the Prestige Nightfall at or above the bonus threshold. The bonus threshold is currently 100,000 points.
  • Arms: Complete 5 Heroic Strikes with at least one clanmate.
  • Chest: Complete the “Leviathan” raid on Prestige difficulty.
  • Legs: Achieve the Legend rank in the Valor Crucible rankings.
  • Class Item: Defeat 10 Bosses.

The easiest goal to accomplish for most players will be the Class Item, which requires killing 10 bosses. (These are unique-named yellow health bar enemies.) This goal can be accomplished solo.

The hardest goal for some players will be completing Prestige Leviathan, while the most time-consuming goal will be achieving Legend in Valor Crucible rankings.

Clans wishing to help their members with these requirements should break into:

  • Prestige Raid fireteams
  • Crucible fireteams
  • Strikes fireteams

More Information and Sources

Did you like this post or find it useful? Consider following me on Twitter or Twitch so you know when new guides have been posted. If you have corrections or questions, you can hit me with a reply on Twitter.

If you’d like to know more about the additional Moments of Triumph bounties that are releasing on July 31st, you can read my previous guide to them.

The data for the Solstice of Heroes armor pieces is easily-digestible at here, in the records for the Statue of Heroes vendor.

Bungie’s post announcing Solstice of Heroes can be found here, and their help page for the same event can be found here as well.

If you want to track your progress with the armor, Destiny Sets is likely to be helpful in doing so. I use it to track my progress with armor ornaments for all activities, and it updates more or less in real-time.

Need a group to run activities with? A good place to start is the100, which will try to sort you into a group automatically based on your play preferences and available times, and has a fantastic public LFG system. Find out more at this link.

What’s Left for D2Y1 Moments of Triumph?

On Bungie Day, and the Destiny API were updated with information on the first year’s Moments of Triumph, which is a set of tasks players can complete before the end of the year to earn specific and exclusive rewards.

Many players logged in to find they’d completed most or all of the accomplishments for the year, especially if they had been engaging with endgame content over that time—but six of the bounties remained hidden:

(The remaining missing bounty is in the Activities tab.)

In patch 1.2.3, the remaining bounties were patched into the API and were not obscured, so we now know what needs to be done to earn the remaining points. These bounties can be earned starting on the 31st of this month.

Bronze Bounties

These Bounties are worth 10 points each.

  • Running Errands: Complete 25 Bounties.
  • The Hero We Deserve: Complete 25 Public Events on Heroic Difficulty.

These should be fairly easy to complete and turn in over the four-week period of the event and can be done solo without too much trouble. Remember that you can complete a maximum of 10 Bounties per-day, per-character—5 from Zavala, and 5 from Shaxx. 25 Public Events will take a few hours of patrol.

Silver Bounties

The first of these Bounties is worth 25 points; the second is worth 30.

  • In My Element: Collect 250 Elemental Orbs.
  • Remember Who You Are: Complete each Redux Mission at least once.

I haven’t seen any information that would tell what “Elemental Orbs” are, but given the number you have to collect, they would seem to be related to Orbs of Light in some way. Perhaps during Solstice of Heroes, Orbs of Light will be Elemental Orbs instead? We’ll find out, but this goal should be attainable through regular gameplay and would be soloable. Public Events would be a solid way to build this up, as players often use supers liberally when completing them. Take friends who will chain supers with you to speed this up.

The Redux Missions were revealed in Bungie’s post on Solstice of Heroes, and are replayed story missions that have been altered to have different enemies. I’m assuming these are more difficult than the stock missions. They should also be soloable, but would obviously be easier with a fireteam.

Gold Bounties

These bounties are worth 50 points each, and are tied specifically to the Resplendent Armor leveling system that will be a focal point of Solstice of Heroes.

  • Fashion Hero: Upgrade the full Solstice of Heroes armor set to Legendary quality.
  • Above and Beyond: Masterwork any Solstice of Heroes armor.

I plan on writing more specifically regarding what will be necessary to level the Solstice of Heroes armor set during the event, but the basic overview has been provided in Bungie’s post regarding the event.

These will be more complicated and time-intensive grinds.

To upgrade a set to Legendary, most of the tasks will be soloable. One of the pieces requires completing a Nightfall Strike, and so will require you either to group with players using the Guided Games functionality or by grouping with other players you know or have met via an LFG service.

Obtaining a Masterworked armor piece will be harder to solo, and the soloable methods provided will be more time-consuming. The two methods you can solo are:

  • Defeat bosses. The number provided in the item manifest is 10, but there’s not any more clarity than that—it might not strictly mean 10 strike or raid bosses.
  • Achieve the Legend rank in the Valor Crucible rankings. This will require playing quite a few matches, but with Valor now being given for all game modes other than Trials of the Nine (since patch 1.2.3), you’ll have many more options to choose from in leveling this up.

I’ll talk more about the Solstice armor and leveling those pieces in a later post.

With the exception of the armor Masterwork requirement, these Bounties shouldn’t be too rough. You’ll have four weeks within which to complete these activities. If you need help with them, consider checking out the100 and finding a group to play with!

I’ll be running a decent number of sessions there to help people attain these goals. You can find my profile here.

If you have questions or corrections for this post, reach out to me on Twitter. Most of the API data can be found in an easily-readable format on

WordCamp US 2017 Presentation: Security, The VIP Way

This past Friday, I gave a 20-minute presentation on WordPress security, giving a high-level overview of things you can do to help keep your sites secure.

The Presentation

Here's a SlideShare embed of the presentation deck:

And you can download the Keynote source file for my presentation, including presenter notes.

Twitter Questions

As part of my talk, I asked attendees to submit any questions they might have had via Twitter using the hashtag #wpvipsec. Here are the questions I received, and some brief answers to them as best I can provide.

As we have been transitioning some of the VIP platform to our next-generation VIP Go platform, we've had to reinvent some of this stuff slightly. :) You'll be pleased to know that we have made the mu-plugins we use on VIP Go publicly-viewable on Github, and you can see our custom two-factor module here.

I don't know very much about securing sites via VPN, but I'm assuming here that you have site access (even front-end) locked to internal IPs only based on that VPN connection. That should handle a large portion of your security from outside attack, assuming the VPN is using appropriate security precautions.

At this point, your chief enemy is likely to become human error. This is where portions of the talk surrounding things like limiting user capabilities and access to certain settings pages can really help you out. Making sure your users are following good account security processes for connecting to the VPN is also critical.

As I suggested in the Q&A after the talk, I highly recommend that user roles and capabilities be in your WordPress engineering toolbox. They are enormously useful.

Multisites are interesting because they have additional layers of user access. Let's look at the two admin roles:

Super Admin: This should be as limited as humanly possible. The only users who should have superadmin powers on a multisite IMO are system administrators, your development team, and support users who will be assisting other users with account-level actions regularly. (An additional user or two might be necessary if you have people who need to spin up new sites on-demand rather than contacting your support team.) You should certainly require two-factor authentication here, and if you can require proxy or VPN access at this level, you absolutely should look into that as an option.

Administrator: This is going to be on a site-by-site basis within the multisite. If you can craft custom roles and their capabilities finely enough for your needs so that non-development users who are "in charge" of a site can use those roles instead of full admin, you should absolutely do this. Ideally, this user group and the Super Admin user group are as close to identical (and as limited) as possible.

The remainder of the roles are easier to parse. I'd like to especially recommend here (as I did during the talk) the use of an audit trail plugin; as you will have many users working on sites, and some with superadmin powers, the helpfulness of knowing which users performed which actions increases.

Additional Questions?

If you have any questions that haven't been covered above or in the talk, please send me a reply on Twitter and I'll be happy to drop them in the post and let you know when I have updated it.

I'll be updating this post occasionally with new information, as well as a link to the talk's video archive when it's available. To be notified of this, please either follow my blog or follow me on Twitter.

Bracket Running: Avoiding Disappearing Players

Bear dropped this on Twitter in reply to PerfectLegend, and I thought it worth it to mention something about how I handle it. Using this method, I have never had a problem with the following problem:

Here’s how you make this less of a problem:

Talk about this with your players before you start your bracket.

Issue clear expectations for things like bathroom and smoke breaks, because players will ask you for these things. Let them know that they need to ask for them immediately after one of their matches, and that you have to OK them by looking at the bracket and seeing what time is available for people to do so. Also let them know that when you and they agree on a time limit for these activities, and they go over the time limit, they can be DQ’d.

Know where you are in the bracket and how long matches take.

You can’t be honest with players regarding the time available to them for a break unless you know how much room you have in a bracket for those things. You’re generally only going to be able to give them break time in the first couple of rounds, because that is the only time you have a lot more matches to play than stations.

Make sure you are playing out matches by rounds as much as possible to give players time to rest between their matches. Don’t run one person way through the bracket before you have had other players get their matches in.

Write breaks down on the bracket sheet or a notebook/notepad (if using electronic bracketing, which you shouldn’t be in most cases), and make sure the player sees you do it.

When I have a player ask for a break, I talk to them briefly about what they are leaving to do and ask them how long it will take them to do it. I check the time on my watch, and then tell them exactly when I expect they will be back for their next match. I then write their player name and the agreed-upon return time on the bracket, showing them as I do this, and let them go have their break.

This becomes a two-way agreement; I let them take the break, and they agree they’ll be back by that time. If they aren’t back by that time, I generally give them two to three minutes’ grace period before issuing a DQ loss. (This also means that when budgeting the time for their break, I give them two to three minutes less than I actually have for them.)

Above all, be fair and respectful.

Before every bracket I run, I set expectations that I’m going to respect players’ time, and that in return, I expect certain courtesies from them. It’s only in partnership with your players that you’ll be able to run an efficient and well-received bracket. Respect your players’ time and communicate with them clearly, and they will respect the decisions you may have to make.

macOS Command Line Tips

As previously mentioned, one of my favorite exercises is to avoid using system transfers when I move to a new MacBook, and instead start over from scratch, as I learn something new every time.

One big difference this time around has been that I am in the command line much more now than I have been in the past. I’ve been working actively on this as a skill, and as a result, it means more time sitting at a prompt.

The default terminal in macOS is fantastic, at least for the reason that it’s a modern OS with UNIX-like command line syntax—but there are some way it falls short, based on either its BSD roots or choices made by Apple.

The good news is that you can make up for a good number of those shortcomings with a bit of work, and find some neat tricks at the same time. I asked on Twitter for some additional tips:

I’ll be sharing any tips that I’m pointed to there for the first time in this post and subsequent edits, so if you have any tips of your own, drop me a reply on that tweet and I’ll check them out.

Optional Step One: Install a Terminal Replacement

This is very greatly a matter of personal preference, but I usually replace the Terminal app with an alternate solution. (This is where we pour one out for TotalTerminal a.k.a. Visor, of blessed memory.)

I prefer iTerm2 and its advanced features such as split panes, shell integration, and more intelligent buffering and options, but you may find something of your own you prefer. iTerm2 is also open source under the GPLv2.

Install Xcode Command Line Tools

Before we can do anything else of note with the command line, we should install some command line stuff that’s left out by default in macOS but very useful for a lot of the other things we’ll want to do. Thankfully, Apple made this bit pretty easy.

Open your command line and run:

xcode-select --install

You’ll be prompted to confirm this installation with a GUI dialogue. Accept it, and macOS will download the developer tools for you. (You will possibly end up upgrading some of these tools, but that’s OK. This will get you started and give you the basics you need.)

Get a Monospaced Font That’s Not Monaco

Monaco as a font is OK, but not great. There are two alternative options I usually recommend.

The first is the monospaced font that comes bundled in with the default Terminal app:SF Mono. Apple doesn’t distribute this font outside of either Terminal or Xcode from what I can tell, but you can extract it from the Terminal app if you would like. Get to the folder containing the font files using this:

open /Applications/Utilities/

Select all the files in that folder and open them, which will take you to Font Book to try and install them. Font Book will tell you there are problems with the font files. Font Book is lying. The installation will work, and I haven’t seen any reports of it being problematic.

(I think the warning is because doing this might possibly be against the terms of use for the font.)

If you would rather not pull SF Mono out of Terminal, or if the errors give you pause, another great option is to install Anonymous Pro, which has been my go-to fixed width font for years. It’s a great option and has a free license. You can download it here.

Get Homebrew for Package Management

Modern Linux distributions often use package managers to add and remove installed software with ease.

Now, when you run into a command line tool or other utility someone’s pointed out to you, you can usually install it more or less automatically with Homebrew. Here’s an example for wget, which quite honestly should be included with macOS, but isn’t:

pathfinder:nodecg ryanmarkel$ wget
-bash: wget: command not found
pathfinder:nodecg ryanmarkel$ brew install wget
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Deleted Formulae

==> Installing dependencies for wget: openssl@1.1
==> Installing wget dependency: openssl@1.1
==> Downloading
######################################################################## 100.0%
==> Pouring openssl@1.1-1.1.0f.sierra.bottle.tar.gz
==> Using the sandbox
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in

and run

This formula is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.

If you need to have this software first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.bash_profile

For compilers to find this software you may need to set:
    LDFLAGS:  -L/usr/local/opt/openssl@1.1/lib
    CPPFLAGS: -I/usr/local/opt/openssl@1.1/include

==> Summary
🍺  /usr/local/Cellar/openssl@1.1/1.1.0f: 6,421 files, 15.5MB
==> Installing wget
==> Downloading
######################################################################## 100.0%
==> Pouring wget-1.19.1_1.sierra.bottle.tar.gz
🍺  /usr/local/Cellar/wget/1.19.1_1: 11 files, 1.6MB

Suggested Homebrew Packages

You can get pretty fancy with Homebrew. My colleague Jeremy Herve has a great script he uses to run it when spinning up a new system, and he posted about that here. I don’t install that many things via Homebrew, but there are a handful of things available through it that I use with some regularity.

If you know of any cool utilities I don’t; feel free to ping me on Twitter and tell me about them.


(source on GitHub; MIT license)

mas is a great utility that helps you with both installing and maintaining apps you have installed through the Mac App Store (which, admittedly, is fewer and fewer apps over time). You can even use it to search for apps and manage your authentication status.

pathfinder:nodecg ryanmarkel$ mas list
409183694 Keynote (7.2)
408981434 iMovie (10.1.6)
485812721 TweetDeck (3.9.889)
443987910 1Password (6.7)
904280696 Things3 (3.0.3)
803453959 Slack (2.6.2)
442007571 AntiRSI (3.3.0)
557168941 Tweetbot (2.5.1)
407963104 Pixelmator (3.6)
409201541 Pages (6.2)
682658836 GarageBand (10.2.0)
409203825 Numbers (4.2)
692867256 Simplenote (1.1.8)


(source on GitHub; GPLv2 license)

At work, we do a lot of code review and scheduling those code reviews. If I have a bundle of code and I want to size it up quickly to see what it does, I use cloc to do this. It’s a great first-look at how much work a review could end up being.

pathfinder:Development ryanmarkel$ cloc ryanmarkel-v2/
    1933 text files.
    1905 unique files.
     146 files ignored. v 1.72  T=8.46 s (211.5 files/s, 32469.1 lines/s)
Language                              files          blank        comment           code
PHP                                    1305          18979          44697          79398
CSS                                      79           5329           2056          32684
JavaScript                              149           4631           5865          20148
PO File                                  73           8254          12486          20091
XML                                      74            869            926           5606
Markdown                                 40           1512              0           3896
JSON                                     31             14              0           3282
HTML                                      9             14              0           1444
Velocity Template Language                1             11              4            470
Bourne Shell                              6            114             40            468
Maven                                     1             30             21            305
YAML                                     10             52            111            262
Ant                                       1             19             30            140
INI                                       7             27             89             95
DTD                                       1             25             54             69
XSLT                                      1              5             14             19
make                                      1              1              0              3
SUM:                                   1789          39886          66393         168380


(source on GitHub; BSDv2 license)

streamlink is a forked successor of livestreamer, which unfortunately became a dead project but is insanely useful. It uses command line instructions combined with (normally) an install of VLC to open streaming video using a method that tends to be much lighter-weight than using a browser. It will help you identify various transcodes as well, and can be used even to load authentication-required video for some services.

pathfinder:Development ryanmarkel$ streamlink
[cli][info] Found matching plugin twitch for URL
Available streams: audio_only, 160p (worst), 360p, 480p, 720p, 720p60 (best)

Bring Some Color to bash

Some of the tools that are included with macOS at the command line and its default configuration are slightly altered from defaults you may be used to in other UNIX-like environments. One that tends to bother me is that by default, ls doesn’t have any color indicators for output. By default, it looks like so:

This really isn’t helpful. Let’s add at least some color marking by adding this to our ~/.profile:

export CLICOLOR=1

Now, when I’m in a terminal session in any terminal app, I should see my directories like so:

You may also wish to customize your prompt using the information you can find here, but the number of options there are a bit much for me to get into.

Using pbcopy/pbpaste

Mark Jaquith replied to me with this tip:

Straight up: I did not even know about pbcopy and pbpaste, but reading the man pages for them, it’s crazy I went this long without knowing what they were and how to use them.

You can use the commands to move text back-and-forth between your terminal session and the macOS Clipboard. This should be self-explanatory, but for example, I just realized that I could have used it to put large chunks of the output from commands in this very post without having to select it and copy it.

What Am I Forgetting?

If there’s a neat trick or setup tip you think I’m missing, please let me know! Drop a reply to either the tweet for this post or the one I posted earlier and let me know what I can add!

Preparing to Run Brackets at Large FGC Events

Combo Breaker 2017 is coming up in a handful of days, and I’ll be on the floor helping run brackets to do my part to make it a great experience for competitors.

I enjoyed my volunteer time a ton last year, and I’m happy to help make this year’s event a similar success. Assuming there are new volunteers this year who haven’t run brackets at a big event before, I thought I’d put together a list of things that have worked for me in running an efficient, well-organized bracket and getting the most out of my volunteer time.

So, here we go, in no particular order other than this first one, which is most important:

Attend the Volunteers Meeting before the Event

This is non-negotiable. Every event will have specific ways they do things. They are not always going to be the same from event to event or even year to year. They are almost certainly different from what you have been running for your locals, house events, or whatever you have run before. Your head TO or other bracket coordinator should have sent you a message with the meeting times. Show up.

When you are there, the most important thing you can do—even if you have been to a million of these—is to listen. Things may have changed from the previous year, and there will be others at the meeting who have not done this before. They need to be able to hear, and for that to happen, everyone in the meeting needs to be listening.

If you have questions, ask them at the meeting. It’s far more efficient for you to have your questions answered before a single bracket has started than to try to track down other staff once there are hundreds of people on the event floor and you are facing a time limit for running your pool.

Do Your Homework

You will have your pool assignments ahead of time so you know when you are needed and can schedule yourself accordingly. Players will have their pool assignments ahead of time so they can plan for their matches.

This means you should know who is in your pools before you get started. You’ll also know what games you will be running. Take the time to see who you’ll be working with, study the rules for the games you have been assigned, and make sure you know when you are supposed to be there.

Know who your game’s TO is and what they look like. Know who the head TO is and what they look like. You need to have this information in your head so you can quickly and efficiently get help if and when you need it. Come prepared.

Wear a Watch

You’ll be responsible for getting your brackets done on time. This means you will need to know the following at all times:

  • How long you have before your next bracket starts
  • Whether you are at the threshold of time for you to start DQ’ing players (varies by event)
  • How much longer you have to get the pool done to end on-time

You need to have a clock somewhere on your person the whole time you are staffing the event. A phone is fine, but phones can get dropped, run out of battery, be misplaced, or the like. (I carry a portable charging battery with me at all events in case my phone starts running low.)

YMMV on this suggestion, but I prefer a watch because it’s less obtrusive, easier to glance at when needed, and far more incident-proof than a phone.

Carry a Notebook

When you run into a sticky situation, or if you need to track what’s going on at any given point during your bracket, notes can save you from problems or time-delaying issues. Assume the following when you are running the bracket:

  • Someone will have to go to the bathroom and will (or should) tell you they are doing so to prevent being DQ’d
  • A player will ask you about the rules for the game you are running
  • You’ll need to look at your own schedule to keep things straight and report to the correct place
  • Someone not even in your bracket will see your staff shirt and ask you a question to which you may or may not immediately know the answer
  • Other staff people may have things they need your help with that you can’t get to immediately

A notebook is your lifeline in most of these situations. Things I recommend for your notebook:

  • Put your schedule in it so you can refer to it at any time
  • If someone asks you something and you need to get to it later, write it down so you don’t forget
  • Jot down the rules and default settings (or anything specific that’s different!) for the games you are running so you have it available instantly
  • Write down player names if they leave and inform you they are doing so, as well as what time they left the pool stations (when they leave, you should tell them how quickly they should be back to avoid a DQ situation)

Last year, I carried my Moleskine around in the venue, but it was overly bulky and not very practical. I recommend a smaller notebook style, like a Moleskine Cahier or a Field Notes notebook. They fit in a pants pocket and are easier to move around with.

Relatedly, when you take a pencil for writing on your brackets (because events use paper brackets), take two so you have a backup.

Early = On Time. Be On Time.

Find out what the expectations are for players and when they should report to a pool station for their brackets. Be there five minutes before that time so you are there when players arrive. Politely clear away any casuals at the station in advance of your brackets by setting time expectations with those players as you get things ready. Mark players on your bracket as they check in with you so you know who is there.

Take Care of Yourself

Don’t forget to eat something. Drink water like it’s going out of style. Wear comfortable shoes you can stand in for a couple of hours at a time without problems. Clear any bathroom breaks you might need before your bracket starts. Get some good sleep the night before.

If you are miserable, you are going to pass that savings on to your players, and they won’t have as good a time. Which brings me to my last point:

Have Fun. Help Players Have Fun.

This is your job when you help run an event.

Yes, you are there to enforce rules, make sure players are not being disruptive or otherwise problematic, and to run your brackets on time. You can do these things and still have a good time, which will result in your players also having a good time.

Bracket runners do not get salty. Be fair. Be calm. Encourage your players to have a good time. Answer their questions. Thank your players for being there when they are out of the pool. Congratulate the players who escape the pool to later brackets.

Anything Else?

If I missed something here you think is important, drop me a reply on Twitter and let me know. I’ll be happy to add things to this guide.

How to Replace a Balltop

A super-quick, cheap, and easy-to-install method for adding some personalization to your fightstick is to replace the stock balltop with a different one, maybe of a different color or from a different manufacturer.

Parts Used in This How To

For this how to, we’re using a MadCatz TE2, which comes with a Sanwa JLF-TP-8YT lever as a stock part. Those levers come with an LB-35 balltop.

  • Sanwa LB-35 Balltop (35mm, yellow)
  • Seimitsu LB-39 Balltop (35mm, blue)

Any 35mm balltop will work when following this tutorial. This includes stock balltops from Sanwa and Seimitsu, as well as the stock balltop on the Hori Hayabusa lever, and many custom balltop replacements. (The vast majority of balltops you can buy are 35mm.)

Tools Used in This How To

  • Flathead screwdriver (the tool included with the TE2 counts)

How To Replace the Balltop

OK, first, open up your stick or otherwise get it to the point where you can get at the underside of the mounting panel. On the TE2, use the catch button at the front of the stick and swing the panel up.


Turn the stick so you can access either side of the mounting panel at the same time.

With one hand (I’m left-handed), grab the balltop that’s currently installed.


With your other hand, take the flathead screwdriver and insert it into the screwhead on the bottom side of the joystick lever. Hold the screwdriver head there so you can apply torque to the joystic shaft without it rotating entirely. (If you want to see what that looks like, just rotate the balltop without having the screwdriver in place.)


Using one hand on the balltop and the other hand on the screwdriver handle, rotate the two so the balltop starts separating from the shaft. After a few rotations, it should look like this:


Once you have removed the balltop, set it aside. To stop it from rolling around on your work surface, set it down with the screw mount flat on the surface.

Grab the new balltop you want to install, and reverse the process you used to remove the previous one. With one hand on the balltop and the other on the screwdriver handle, rotate the two so the new balltop tightens on the lever.


Slowly but firmly continue to screw the balltop onto the mount until you feel resistance. Give it one last gentle tighten and you’re done. Remove the screwdriver from the bottom of the lever assembly and check to make sure the new balltop is flush with either the shaft itself or the shaft cover if your stick has one.


You’re done! Close the stick up and give it a test. It should freely rotate in your hand without coming away from the shaft.