|In a conversation one evening, Pink could see that I was getting really focused on this stuff, and asked where we were headed on server layout. While I didn't build the Philcon server I thought it had been a good model, albeit a bit heavy on sheer number of channels. The main point was that they were grouped sensibly, and I could see how simple channel/role permissions for a group propagated down to otherwise unconfigured channels inside. For large batches such as individual artist or dealer pages, or fan group promotional areas, a "lean" permissions matrix can save an awful lot of point-n-click.|
So shortly after Philcon, I had taken another good look at its channel
layout and derived a
preliminary outline for setting up servers appropriate to this kind of
That also served as a side exercise for learning a little about Github.
[And for the record, I really don't like Slack, especially when compared against Discord. Arisia has a staff Slack, which I've avoided participating in for over two years.]
Many things about Discord are event-driven, and user clients are evidently
Visual updates seem to take place immediately when something changes
at the server, be it a new message in a channel [even ones you're not
currently looking at, unless they're muted], role updates, channel status
or visibility, and even where channels are positioned.
So I was sitting there looking at something unrelated, and a small motion
cue along the left edge caught my eye -- I realized that someone was moving
the channels around, which you can do if you hold a role with the "manage
It turned out that Raven was trying to establish which channels should be visible to the incoming folks before getting "Arisian"-ed, because they'd very likely need some help getting set up and it sort of made sense to have an obvious "helpdesk" area findable right up front. The slightly confusing aspect is that some of the channels had to be moved away from the "member services" category, meaning that they get an independent set of permissions, and it's a little confusing to manage that and keep it correctly minimalist.
So we had a bit of banter about sensible layouts -- I wasn't objecting or anything, I just wanted for us to come up with something agreeably workable to best serve the attendance, and I'd go back and sanity-check all the permissions crap afterward since I now understood the order of precedence.
The Youtube window peeking out from behind was from me going through various tutorial videos about Discord, trying to help find some decently instructive ones that Raven could point our attendees to as additional learning material. We eventually had a "Discord 101" channel as a read-only reference with a handful of somewhat-vetted useful links in it.
[*Note: Changing channel display order is *global*, i.e. it affects everyone on the server. Normal users shouldn't be able to, but sometimes shit happens. This bit me at one of my early online events -- newish to Discord and roled as "Tech" with a bit too much privilege, I naively thought to rearrange a more sensible channel layout for myself, which wasn't, which I found out when other users were like "wtf?!"]
If you're building a server layout that might be good for other events as
well, there's a better option than working from textual notes, and it sort
of provides a way to back up your work.
Generating a "server template" preserves all of the channel and category
layout with all the names, the entire batch of roles and their
colors, *and* all the role/channel permissions as set -- and associates
a random template tag with it.
It is the work of mere moments to clone another complete server from
this, just without any of the members or user data.
The "create" button effectively invokes something like
and builds the new structure straight from the original one. It is also possible to directly extract the entire thing to a local JSON blob, using the format
although it's not clear where that could be uploaded to make a new server starting from ground zero.
|So to fully "back up" a server, though, spin up a new one [that you then OWN!] from the template and just leave it kicking around, and then you can modify it as you please and generate *another* template from that any time.|
|At the time I first played with templates we were very early-on into the build process, so the one shown would have been missing a ton of channels and roles. As we see from a filtered chunk of later audit log, a lot more channels got created over the course of the con, so obviously the right time to save a template for the long term is at the *end* of the event! I think we topped out a little over 70 channels, with some hidden and some segment of them special-access. I'd like to think that we didn't present "channel overload" to our attendees; everything in the visible list had a pretty clear purpose.|
A few days after Arisia was over, the temporary "boosts" that were bought
to ensure better server performance were going to expire.
That was okay, because people weren't generating traffic anymore.
I'm not sure if the "boost" thing is a major revenue source for the Discord organization, but evidently it's possible to get on the favorable side of bandwidth discrimination via a subscription model. I wonder if that affects bot reliability too.