Earlier this year (2024) I played through Fallout 3 again. My objective was to play through the main story and all the main objectives of the DLCs. In total, this took me roughly 130 hours, played over about 2 months. I did install some mods, though I wanted a “Vanilla+” setup, so mostly fixes, a few improvements, but nothing too game-changing. I also played the game on Linux, which was less of a problem than it would’ve been previously thanks to Valve/Proton.
I’ll cover the setup, modding, and any additional configuration I did later. First, I’d like to give my review.
Fallout 3 gets a lot of flack. To a degree, I understand it. Fallout 1 and 2 are beloved games. To suddenly have the franchise given to a completely new company, with completely different writers, will already spark concern. Now take the game play from an isometric real-time-with-pause RPG to an open-world, 3D action RPG, and you’ll have committed an unforgivable sin! Well, at least that’s how some would put it. Again: I understand this; I feel a similar sentiment (though significantly less-so) with regards to the Baldur’s Gate franchise. Baldur’s Gate 1 may be my favorite RPG of all time, and Baldur’s Gate 2 is right beside it. I remain very hesitant of Baldur’s Gate 3, despite the glowing reception and overwhelmingly positive reviews of the game, only because it isn’t the same franchise I know. Whether the same sentiment applies to those who rail against Fallout 3, I can’t say for certain, but I suspect it’s pretty close.
I often hear complaints about the story and the writing the most. Having grown up with some of the most iconic RPGs ever made, I can understand the rose-tinted glasses of past good writing. It amuses me how much Fallout 3 gets put down for its writing, and then New Vegas gets enthroned for its writing. New Vegas is great, from what I remember, and I’m looking forward to a play-through of it soon; but Fallout 3 was no slouch! The main story, though it has some flaws, is engaging and compelling. The side-stories and characters all feel well-written, and help immerse players into the desolation that surrounds them. The best stories, though, are told through the environment. Something that isometric games just can never capture is the exploration in a first-person perspective of a ruinous metro tunnel, with derailed train cars filled with briefcases of whiskey and teddy bears, littered with the skeletal remains of riders, and all without a single word. What happened here is a question left for the player to deduce. This is what Fallout 3 brought to the franchise.
The setting of Fallout 3 is the Capitol Wasteland, a fictionalized, augmented, scaled-down region around modern-day Washington DC, northern Virginia, and Maryland. The “sights” are there, all the monuments and museums (well, some aren’t there, like the White House). There are two “layers” to the map. The first is the surface. There’s the big, open-world Wasteland, which spans almost the entire map, excluding some smaller, independent cells. Then, there’s the underground collection of metro tunnels. All of these connect, mostly, and it is fascinating that, once underground, it’s almost possible to stay underground, at least when around the Mall and within DC proper.
Fallout 3 is the first open-world game in the franchise. The player is free to explore, pursuing quests or ambitions as they whim. There are game mechanics to aid with decisions, generally quest markers and points-of-interest. The entire play time of a character could be spent on everything except the main story, and it would still be a rewarding and enjoyable experience. However, my objective was to play the story of Fallout 3, and so I kept that as my main guiding star. This is not to say I didn’t do any side-quests. I wandered far and wide; I actually discovered every location on the map! I enjoyed exploring the abandoned and ruined metro lines, finding small settlements or outposts, and coming across other wanderers and survivors who had setup their own little slices of the wasteland.
I think the main story of Fallout 3 is strong until the very last beat. The beginning tutorial, which is the first 10 to 40 minutes of play, takes place entirely within the starting Vault. It does a good job of the standard tutorial phase: teach the player how to interact with the game; walk the player through character creation; setup a few characters to care about. Then, the beginning ends, and there’s the second phase of play: open world. Arguably, this is the remaining phase of all game-play.
EXPAND THIS MORE
One of, if not the, strengths of Fallout 3 is the environmental storytelling. In a game that’s surprisingly full of content for being a nuclear wasteland, Fallout 3 does not have a lot of overt narration. For some of the bigger quests, especially those involving NPCs, you will get some narration, and relevant details may be explicitly told to you. For all the rest, there is the environment. I include things like old terminals and audio logs as part of the environment too. Some that come to mind:
In a part of the metro near the White House (well, the crater), there is a sloped causeway. It dips down, and at the bottom is an old busted car. Someone, sometime, put some sweet ramps up along the car. Following from where you enter, down the slope, and past the car, up the opposite side, you find a motorcycle, also ruined. A conclusion: someone did a sweet jump over this car on the motorcycle. Returning to the car, and looking up, you’ll find a skeleton hanging from a light fixture, wearing a helmet. Seems the motorcycle did the sweet jump, and the rider did not.
One of the office buildings has several terminals that recount the sudden panic at the government raiding their office. In actuality, the events happening outside their building was the rain of nuclear death, but all the office workers were prepping themselves to fight off the raid and protect their freedom to business! I forget the exact details of what the office did, but the entire building has desks placed like barricades, filing cabinets blocking doors, and every desk has guns and ammo.
At Raven Rock (the Enclave base), you can find a mess hall. You can also get under the floor grates, and there you’ll find many utensils. Presumably eating on a floor with gaps large enough for silverware to fall through is quite enraging.
EXPAND THIS MORE
TALK ABOUT THEM HERE
Moira Liberty Prime Desmond from Point Lookout The various characters from Zeta Fawkes
While I had played the base game before, I had never played the DLCs of Fallout 3 before. Looking at the release timeline for this write-up, I was surprised to see that Broken Steel was released third of five, and that Mothership Zeta was released last.
The Pitt was the first of the DLCs that I played. It was advised as a good
early-game DLC, if only because it gives some great guns. I hadn’t made the
connection between “Pitt” and “Pittsburgh” until I saw the name of the DLC
spelled out (as opposed to hearing it simply as “the pit”). I love the hook into
the DLC: a man, looking like Snake Plissken from “Escape from New York”, sends
out an SOS signal that your Pipboy can pick up. Traveling to the
northern-reaches of the map, there’s a hand-powered rail car that you use to
travel to “The Pitt.” There, according to Snake Wernher, the people are
oppressed and sick, and their tyrannical leaders hold the cure for their disease
but refuse to hand it over. Wernher escaped from the slave pits, seeking help in
their revolution. Granted, it’s not all that straight-forward. There are a few
hours worth of story, during which you learn a bit more about the setting, the
disease, and the characters. You fight through the slave pits to earn your
freedom and a meeting with the tyrant, a former Brotherhood of Steel member
named Lord Ashur. The cure is actually a child that was born with immunity to
the disease. Conveniently, it’s Ashur’s kid. His wife, (conveniently) a
scientist, is working on bio-engineering a cure from the kid. Wernher wants to
take the kid, harvest it, and distribute the cure himself. Thus the main moral
conflict of the DLC: do you side with Ashur, saving the kid, but continuing the
status-quo, and having only Ashur’s word that he’ll do the right thing when the
cure is ready? Or do you side with Wernher, kidnapping and probably dooming the
child, to let him play his power-trip and essentially take over The Pitt for
himself? I sided with Ashur, killed Wernher, saved the kid, and got some sweet
guns.
Overall, I enjoyed The Pitt. The setting is phenomenal, the story is engaging enough. The characters are good. It has that 80s action-film vibe. The moral choice at the end is a good twist, though by no means unforeseen. I do like that the game has no karma tied to the final decision; neither one is obviously good. I tend to enjoy that in moral decisions, as rarely are any decisions obviously “right” or “wrong.”
Apparently this one is polarizing. (Oh snap, no pun intended). I really liked it. It hooked me in, it didn’t overstay its welcome, and it gave me some cool loot.
The gist: your Pipboy lets you operate a virtual reality training simulation of the invasion of Anchorage, Alaska by the Chinese forces. You start off on a cliff, having been one of a few surviving special forces members sent to infiltrate and destroy the artillery shelling the United States’ forces. Right away, it set a really fun tone with me. I loved the little infiltration angle. After you save the day, you return to base camp, where you are given several more missions to destroy key resources, before repelling the Chinese forces and retaking Anchorage proper.
The stealth mission at the beginning really swings this content in a favorable direction, as does the cool rewards. The Gauss Rifle is just fun to use, and the player gets the Power Armor Training trait and access to a suit of Power Armor. One of the mods I had included several additional sets of armor in the reward vault, and I enjoyed them as well. An understandable complaint is how short this one feels. The Pitt was probably around 5 hours of content, whereas this one could be finished up in 1-2 if rushing. Also, while The Pitt is a persistent location that the player can return to, and it has reason to - the ammo fabrication - the VR-training simulation is a one-and-done deal. I understand why it was unfavorably received, but since I got it as part of the Game of the Year edition, I didn’t feel like I was scammed.
This one grew on me. When it started, due to the nature of the DLC being more open-world and less driven, I felt thrown into another region that I had to make my own fun in. However, I was able to relatively quickly find some engaging storylines, intriguing storytelling, and the main quest was fun.
Arriving in the Land of the Punga, you have two objectives: one, you were asked to find a girl by her mother; two, you are advised to investigate why a manor on a hill is smoking. The swamp wasteland is inhabited by inbred swamp-people, mirelurks, and the expected cretins. There’s plenty of history scattered both told and unsaid throughout abandoned tents, terminals, hotel rooms, and ruins. This location does a lot to invoke an eldritch horror vibe, and it does so quite well at several points. There’s a specific side-quest dealing with a tome, The Krivbeknih, which is obviously a reference to tomes like The Necronomicon. The characters throughout the location are well-written and fun to interact with. The main quest covers a lot of ground, sends you on a psychedelic dream-vision, and gets you lobotomized! Plus an entire building explodes, and that’s pretty rad. Oh, and the secret Chinese spy submarine!
By the end of this DLC, I was happily impressed, and it took the new top spot on my list. There’s some cool loot, plenty of neat lore, and more Punga than you can shake a shotgun at. The NPCs are well written and voiced, the quests are engaging, and you can make moonshine. Of all the DLCs, this one felt like a proper expansion. Desmond earns a high spot on the list of best NPCs in the game.
Another DLC apparently looked at unfavorably. While exploring the wasteland, you follow a mysterious signal to a crashed alien ship, and get abducted by the mothership in orbit. As is tradition, you get probed, and then dumped into a holding cell with another wanderer from the wastelands. After some mischief, you free yourselves, then free some other captives, and begin fighting your way through alien jerkwads to claim the ship and save the planet! There are a ton of audio logs, many of which I didn’t listen to, but all of which deal with the various abductees on the mothership. All the aliens, as well as most of the pick-ups, are cool energy weapons, and if the Metal Blaster wasn’t so gosh darned over-powered, I would have used the weapons from this DLC for the remainder of the game.
I enjoyed the setting, and the story. There are some allusions to other alien-themed media. You find some NPCs from other time periods that were abducted, and interacting with them is pretty fun. It definitely has a pulp-science fiction feel to it, and it runs with it hard but well. You get to space-walk. You also get to shoot the massive spaceship laser beam and save the planet, by blowing up another alien mothership. And that is most definitely rad. Once it’s all done, you get a home base, of sorts.
Overall, it was fun. It fell well short of the other DLCs, but was still worth the time. Getting it as part of the Game of the Year bundle is great; I don’t know that I would regret buying it, though, especially if the price was fair. It was very pretty, but also a bit repetitive. Aside from the kind-of home base, there’s no reason to return to the ship. Plus, after the finale, most of the ship is closed off. Restoring free-roam of the ship would be a great mod, because there is a lot of content that can be missed, and it’s also really quite pretty!
The post-game DLC. Broken Steel changes the ending and continues the story of the wasteland wanderer to clean-up the remnants of the Enclave. It also raises the level-cap to 30, from the start, which is great. By the time I started Broken Steel, I was in mid-to-late 20s, and Broken Steel brought me to 30 comfortably.
Of all the DLCs, this one feels most like a mission. You start off at the Brotherhood of Steel base in DC, with the first mission to follow Liberty Prime to an Enclave outpost and destroy it. While there, Prime gets blasted with space lasers, and the focus shifts to finding and stopping the orbital cannons from firing again. Along the way, you get a Tesla Cannon, essentially the same weapon as Liberty Prime’s face-laser. You assault the Andrews Airforce Base, find a massive mobile-platform Enclave base, and eventually blow it all up using the space lasers from before.
What I remember most from this DLC is combat. So much combat. That’s not a bad thing, but it’s unremarkable. There’s some good lore, and fun story, but overall it’s just an assault mission. Everything else that the DLC adds - the level-cap increase, some perks, the fricken LASER - counts for much more. Well, and any chance to hang with Liberty Prime.
Did I have fun? Was my experience a positive one? How did I play?
Exploring the wasteland, discovering the hidden stories in the environment, and experiencing the more obvious ones of the inhabitants or the remnants was incredibly enjoyable. Part of why I returned to Fallout 3 was because I had not actually played the DLCs, and so in addition to my memories from near-launch of the base game, I had many new adventures. Despite playing on my decade-old desktop, I could stream the game to some friends on Discord, and that enhanced the experience overall as well.
My play-style was almost the most stereotypical of Bethesda game experiences: the “stealth archer.” I really wanted to use “small guns,” and eventually pivoted into energy weapons. I was stealthy, and overall I’d say my theme was a special forces infiltrator. I didn’t fast travel, and some mods made this manageable. I was basically addicted to Nuka Cola. I played solo, without any companions, until relatively late game. I didn’t explore the junkyard where Dogmeat is until late, and then shortly thereafter I got Fawkes.
Talking specifics: playing The Pitt relatively early got me “Infiltrator”, and then “Perforator”, which I used for probably two-thirds of the game; and the “Metal Blaster”, which I used for the entirety of the game, because it is broken powerful. From Operation: Anchorage I got the “Gauss Rifle,” and the Stealth Armor from one of the mods I installed. I also got the Winterized T51-b Power Armor, which I did use for a bit, specifically the helmet (with a mod) for nightvision (and thermal vision, though I rarely used it.) Eventually I found the Stealth Armor helmet, and completed my look. Perk-wise I opted for a build that emphasized small-guns damage, action points for VATs, and eventually some extra VATs goodness like “Grim Reaper Sprint.”
Generally, combat was: if I’m far away, Gauss Rifle sneak attack victory. If I’m close and still undetected, Perforator VATs. Else: Metal Blaster. It worked out well.
Fallout 3 is still a gem. It’s a game well worth revisiting if you haven’t in a
while, and if you’ve never played it, it will be a treat. The environment is
still awe-inspiring and captivating, the NPCs are engaging and charming, the
combat can be hectic, and the stories are memorable. It’s a game that’s best
when played without a guide or goal, just allowing yourself to wander the wastes
and discover what it holds. Whatever aspersions you may have heard of it, I’d
wager you’ll still have fun, and arguably that’s most important. Plus, these
days, even a decade-old potato computer can run it, and it’s often on sale
for around $10 (for example: at time of writing, GoG is selling it for $7!).
Plus, to make even the most current super-computers bend knee, there are mods
that can make the game look absolutely stunning. Not to mention the remainder of
the thriving mod community. Speaking of which…
If you were to ask an outside observer what my preferred way to play Bethesda’s
open-world games is, they would tell you I don’t play them. They would explain
that I spend an inordinate amount of time preparing to play them: modding
them, configuring them, etc.. And that, by the time I’m done preparing, I have
satisfied whatever urge it was that brought me to the game in the first place,
and I move on. That didn’t happen with this play-through, specifically because I
had a goal to actually play the main story and DLC stories. Further, as I wanted
to keep things “Vanilla+”, my mod list is quite reasonable. Also, I played on my
decade-old potato desktop, and so eschewed the more heavy-weight graphics and
overhaul mods.
As with every Bethesda game, there are the patches and optimizers and cut-content-restorers. I would wager that these don’t need any explanation beyond what the mod pages offer. One I will highlight is the “Stupid bullet sponge enemies nerf” mod, which is essential for late-game and DLC enemies; I’m looking at you albino radscorpion.
There is a “Script Extender” for Fallout, and some additional mods that depend on it:
If using the Steam version, you’ll want Fallout Anniversary Patcher. I should also note that something with Stewie’s Tweaks gave me trouble, and I had to disable it at times for the game not to crash, but generally nothing here caused trouble.
I’m not generally too concerned with making Bethesda games look pretty. That being said, I love when I can enhance the environment. In Oblivion, for example, I love the mod that adds light posts along the main road ways. In a similar vein, these mods enhance the environment. Of note: Fellout removes the green tint from the game; that’s a personal preference, but I preferred seeing clearly. The Street Light mods add (mostly) working street lights throughout the wasteland, which significantly enhanced the ambiance for me. Combined with the incredibly dark nights that Fellout gave me, these lights became actual beacons in the night, and some of the only sources of light during the night. The Megaton mods make the settlement a bit more visually interesting and also easier to navigate.
The two audio mods I included added quite a bit of ambiance as well, and on several occasions would put me on alert while I traversed the wastes.
Then, the truly ostentatious mods: Fallout 3 Redesigned makes the models look better, specifically the faces; FO3 Flora Overhaul is highly customizable, and I used it to litter the wasteland with dead trees and shruberies and such.
Since I’m aiming for a “Vanilla+” play-through, I went very light on the content mods. The only two I included were D.C. Interiors and Metro Carriage Interiors. Both add not only some content, but really enhance the immersion by making more buildings in the overworld, and all the train cars in the metro tunnels, actual places to explore. I find they do a great job keeping with the environmental storytelling.
I also added this neat armor, because I was playing a bit of a sneaky character. It didn’t seem imbalanced or over-powered, and it looks pretty rad. The nightvision mod turned out to be essential for the surprisingly dark nights and tunnels. The T51-b mod just adds nightvision to that helm, as the other power armor helmets have.
Interestingly enough, the mod which inspired me to play Fallout 3 again is Fugacity. Advertising itself as a “vanilla-plus balance and difficulty” mod basically does much of the work for me. I used it as the starting point, and built my mod list up around it. Conveniently, the mod page includes a list of mods recommended by the mod-author; it may look quite similar to this list!
The remaining mods helped to complete my immersion. I had already decided against fast-traveling throughout the wasteland, and the caravan-based fast-travel helps make this much more manageable. Having recently played Morrowind, I think it does fast-travel by default best of the Bethesda open-world games. This mod implements what I would consider to be basically that system in this world. Finally, I prefer food slowly regenerating health over time, instead of eating 20 cabbages with alarming speed and instantly restoring health. Notably: stim-paks still restore instantly, and so it provides a nice game play decision - can I take the time to heal, or do I spend a rarer resource?
As with the other Bethesda games, getting everything modded, configured, and functional can become the real game. Luckily, with a moderately small mod list, this was not the case. This time. The process for running on Windows or Linux are almost the same, except for some Proton shenanigans. I used Mod Organizer 2 to handle all the installation and management of the mods themselves. For the game version, I did use the Game of the Year version from Steam. However, any version should work. When I do eventually play Fallout 3 again, I’ll plan to try the GoG version with Wine instead of Steam and Proton.
Full list of non-game applications (that is, non-mods):
To make running the various Windows-only applications easier, I made an alias
for myself. You’ll need to replace <YOUR STEAM INSTALL PATH>
with the
directory path for your Steam Library, aka where you installed Fallout 3 through
Steam. By default it is ~/.local/share/Steam
.
alias fo3-run='STEAM_COMPAT_DATA_PATH=<YOUR STEAM INSTALL PATH>/steamapps/compatdata/22370 STEAM_COMPAT_CLIENT_INSTALL_PATH=<YOUR STEAM INSTALL PATH> ~/.local/share/Steam/compatibilitytools.d/GE-Proton8-6/proton run'
<YOUR STEAM INSTALL
PATH>/steamapps/common/Fallout 3 goty
)fo3-run
Patcher.exe
<YOUR STEAM INSTALL
PATH>/steamapps/common/Fallout 3 goty
)At this point, you’ll do everything through Mod Organizer 2. Again, to simplify
my play a bit, I created an application entry for use with the KDE menu. This
may be different for other window managers/desktop environments. As with the
alias above, replace <YOUR STEAM INSTALL PATH>
with the directory path for
your Steam Library, and <YOUR MO2 INSTALL PATH>
with the directory path for
where you installed Mod Organizer 2. Optionally, if you have a picture to use
for the launch icon, provide it on the Icon=
line; else remove the line.
[Desktop Entry]
Type=Application
Name=Fallout 3: Moddeded
GenericName=Fallout 3
Comment=Fallout 3 but with mods too
Keywords=Fallout 3
Exec=STEAM_COMPAT_DATA_PATH=<YOUR STEAM INSTALL PATH>/steamapps/compatdata/22370 STEAM_COMPAT_CLIENT_INSTALL_PATH=<YOUR STEAM INSTALL PATH> ~/.local/share/Steam/compatibilitytools.d/GE-Proton8-6/proton run <YOUR MO2 INSTALL PATH>/ModOrganizer.exe
Icon=<AN OPTIONAL PATH TO AN IMAGE FILE>
Categories=Game;RolePlaying
Either launch MO2 with that application entry, or use the fo3-run
alias above
to launch it; or add it as a shortcut in Steam, or to Lutris, or really any
number of other options. Actually using MO2 is beyond the scope of this post,
but it’s relatively straight-forward. Download the mod archives and install them
using MO2. Some configuration may require editing an INI file, which can be
done through MO2 or any other text editor. Most importantly: you’ll run
Fallout 3 from Mod Organizer 2. You will no longer launch the game via Steam,
or whatever other game manager you may have used to install it. Assuming all
works as intended, you’ll now have a means for interacting with the Fallout 3
install (via the alias above), an easy-to-access application menu entry (via the
Desktop entry above, or a similar launcher setup), and a hostile wasteland
awaiting your exploration. Good luck out there!
Backups are not complicated. They may seem like it, but in reality the complications arise from restoration. If you’re not doing anything fancy with your data now, then don’t do anything fancy with your backups. Follow the 3-2-1 methodology: 3 copies of (important) data, in 2 different locations, 1 of which is off-site. Many others have written about this in better detail than I ever can; Jeff Geerling has a great article and several videos about it on his site. The time (and often money) investment now can reduce worry, stress, and loss should the data you care about ever become unusable.
(There are no affiliate links in this post, nor was I paid to recommend any product or service.)
Backups are as important as the data you have. If all you’ve got is a directory full of meme GIFs that you don’t mind losing, then backups may be a waste of time and money. I have recently taken to buying as much of my music as possible (especially through Bandcamp, and especially on Bandcamp Fridays!). While much of the music I buy does exist on a remote server at a company somewhere, the cost of having to re-download and re-organize all of it well outweighs the cost of proper backups. Not to mention the music which I can’t get anywhere else anymore. Nor to further mention the other data which I have. All of this is to say: backups are worth it to me.
Recently I wanted to setup NFS on my home network. I was concerned about messing something up, and erasing the directory I had intended to share, so I wanted to backup the data. For a while I’ve been intending to setup backups (as everyone probably does), but it was never a priority. This project helped to prioritze it. I had read about RClone, a command-line utility for interacting with an incredible number of cloud services. I messed around a bit with it, found it to my liking, and started shopping around for a cloud storage solution. Enter Backblaze. The folks that publish all those hard-drive stats? Turns out they also run a business where they provide cloud storage. It’s inexpensive, reliable, and straight-forward. The last step was to automate it with systemd timer units.
First step is to setup Backblaze. Create an account, verify email address, all that jazz. I’d recommend enabling multi-factor authentication on the Account -> My Settings page, under Security. Next, click on the Account -> Application Keys page, and generate a new key. Fill in the blanks (I gave my key full access to all buckets), copy the important bits, and store them somewhere safe (like your password vault).
Download and install RClone. Next run rclone config
and walk through the
prompts. I’m using Backblaze, so I select “Backblaze B2” as my storage backend.
Then I add the application key ID and application key secret (key) at the
relevant prompts. For all of this configuration, I named the remote “backblaze”,
though a shorter name can make commands easier. Regardless, verify the
configuration is setup properly by running rclone lsd backblaze:
, which will
list buckets. Unless a bucket was already configured, nothing will show up, and
also there won’t be any errors.
Now, figure out how you want to backup your data. I have a BTRFS RAID setup with multiple sub-volumes, each for a different data type: one for Books, one for Music, and so on. Since creating a bucket doesn’t cost anything, I decided to split my backups similarly. I created the buckets I wanted, and did a “manual” RClone sync of the data.
rclone sync --fast-list --transfers 20 /path/to/Books
backblaze:bucket-for-Books-backups
The “–fast-list” and “–transfers” options are specified on the RClone Backblaze B2 page, along with some others that may be of interest.
At this point, my data was “backed-up”, and I could muck about with it more confidently. Also, at this point, configuring back-ups is done. Run those RClone sync commands once a week, and all is set. I don’t want to remember to do things, though.
The first thing to do is create a user-agnostic location for the configuration
file and some additional files. I chose /etc/rclone
, and copied the RClone
configuration file generated previously to this directory as backblaze.conf
.
Next, I created a filter file. RClone has extensive filtering options. For my current needs, a single file will suffice.
# Exclude BTRFS snapshot directories
- .snapshots/**
# Exclude Syncthing configuration directories
- .stfolder/**
systemd timer units ( [Arch Wiki] [Manual] ) are triggers that activate on a schedule. That schedule can be dynamic (relative to a previous/other trigger), or static (at 6:15 every day). A timer unit triggers a service unit, which does the work. For my backups, I decided to run a sync every hour, at sometime between the 15 and 45 minute mark of that hour. To simplify having multiple timer units that all do the same thing, I setup a template unit (see the Note here: Arch Wiki).
[Unit]
Description=RClone Backup Timer Template
[Timer]
# Run every hour, sometime between the 15 minute and 45 minute mark
OnCalendar=*-*-* *:15:00
AccuracySec=30min
RandomizedDelaySec=5min
# The %i is whatever value is after the "@" for the configured unit. For
# example, rclone-backup@Books.timer will run the rclone-backup@Books.service
Unit=rclone-backup@%i.service
[Install]
WantedBy=timers.target
Then I can enable
and start
a timer for each directory to backup. To
minimize configuration, I also setup the service file to be a template. This
requires a bit of inflexible coordination: the directory name must match to a
part of the bucket name.
[Unit]
Description=RClone Backup of %I
[Service]
Type=simple
ExecStart=/usr/bin/rclone sync -v --config "/etc/rclone/backblaze.conf" --fast-list --transfers 20 --filter-from "/etc/rclone/default.filter" /path/to/%i/ backblaze:bucket-for-%i-backups
The --config
option allows us to specify the configuration in the /etc
directory. I include -v
to have some additional output in the journal.
Again, --fast-list
and --transfers
are used to speed up the process and keep
costs lower. Then I --filter-from
the “default.filter” file.
Place each of these files (rclone-backup@.timer
and rclone-backup@.service
)
into /etc/systemd/system
. For each directory, enable and start the timer
unit; systemctl enable rclone-backup@Example.timer
and systemctl start
rclone-backup@Example.timer
will backup /path/to/Example/
to the
bucket-for-Example-backups
bucket.
I would like to get some sort of metrics and dashboards setup to track backup status and statistics. It could be very useful to be notified if a backup ever fails.
Eventually, I’ll upload this to a repository somewhere for ease of access and backup. When I do, I’ll update this post.
]]>Funkwhale is a decentralized music service,
connecting to the fediverse using the
ActivityPub protocol. It is a web-based application, allowing users to upload,
listen, and share music and podcasts. I think it’s a cool project, and I can
self-host it, so I did. For a while, Funkwhale offered an all-in-one Docker
container, but they shifted focus to a multi-container approach. I had delayed
my transition from all-in-one to multi-container, but finally this past weekend
I found myself with time and motivation to get it done. The installation of
Funkwhale using Docker is very straight forward. The community has developed a
series of templates that can be fetched, modified, and used to get started very
quickly and easily. Those instructions are
here.
The only significant modification I made was using /opt/funkwhale
as my
default data and media root. I keep all my Docker configuration in directories
in my home directory as well. Much of these changes can be established in the
.env
file discussed in the installation instructions, but I also scrubbed the
template files created and used during installation to make sure the directories
were as I wanted them. I also proxy Funkwhale and many other services behind
nginx, and there were a few additional
steps I had to
take. With all that complete, I had transitioned successfully. I already had SSL
certificates, but if that’s also a requirement, they can easily be provisioned
using Certbot.
In my old setup, I leveraged Funkwhale’s ability to in-place import music. I transferred about 70GB worth of music to my VPS (using Syncthing <3), filling the disk almost entirely (98%). It was a temporary solution for a road trip, and I knew I couldn’t keep it that way for long. Funkwhale has the ability to leverage S3-compatible object storage, and Linode, the provider I already use for my VPS, offers object storage. Any of the other major cloud providers will also do the trick; I just went with what was easiest. On the Linode side, there’s not much to it. I created a new bucket, labeled it accordingly, created an access key, and that was it. The Funkwhale side proved to be a bit challenging, but not, it turns out, due to configuration. Well, technically it was.
The relevant configuration options on the Funkwhale side, in the .env
file:
## External storages configuration
# Funkwhale can store uploaded files on Amazon S3 and S3-compatible storages (such as Minio)
# Uncomment and fill the variables below
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_STORAGE_BUCKET_NAME=
# An optional bucket subdirectory were you want to store the files. This is especially useful
# if you plan to use share the bucket with other services
# AWS_LOCATION=
# If you use a S3-compatible storage such as minio, set the following variable
# the full URL to the storage server. Example:
# AWS_S3_ENDPOINT_URL=https://minio.mydomain.com
AWS_S3_ENDPOINT_URL=
# If you want to serve media directly from your S3 bucket rather than through a proxy,
# set this to false
# PROXY_MEDIA=false
# If you are using Amazon S3 to serve media directly, you will need to specify your region
# name in order to access files. Example:
# AWS_S3_REGION_NAME=eu-west-2
# AWS_S3_REGION_NAME=
# If you are using Amazon S3, use this setting to configure how long generated URLs should stay
# valid. The default value is 3600 (60 minutes). The maximum accepted value is 604800 (7 days)
# AWS_QUERYSTRING_EXPIRE=
# If you are using an S3-compatible object storage provider, and need to provide a default
# ACL for object uploads that is different from the default applied by boto3, you may
# override it here. Example:
# AWS_DEFAULT_ACL=public-read
# Available options can be found here: https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl
AWS_DEFAULT_ACL=
I’ve included the comments. The entire file is commented, and generally easy
enough to figure out. On the Linode side, when I generated the access key, it
provided me an Access Key and a Secret Key. I had already created a bucket,
and so I had the Bucket Name. The challenge for me was what the Endpoint URL
was, and if I needed to set a Region Name and ACL. Linode’s documentation on
their object storage offering is a bit anemic, and so I made use of their setup
instructions for using s3cmd with Linode object
storage.
From this guide, I was able to both setup s3cmd
, and also determine what the
Endpoint URL would be. I also set the Region Name and ACL to match what
the UI was showing, but I’m still not certain their necessary. Here’s the trick,
and the cause of a few hours-worth of confusion: restarting the Docker
containers wasn’t re-reading the .env
file; I had to completely stop and
re-create them. It wasn’t until I ran docker inspect funkwhale-docker_api_1
and noticed the environment variables weren’t set that I figured this out. Could
be this is common knowledge for Docker-gurus; now I know. With the
configuration in place, and the containers recreated, I was able to upload files
through Funkwhale, and watch them be stored in my Linode bucket. My final
configuration options were as follows:
AWS_ACCESS_KEY_ID=<stuff>
AWS_SECRET_ACCESS_KEY=<secret stuff>
AWS_STORAGE_BUCKET_NAME=funkwhale-music-bucket-name
AWS_S3_ENDPOINT_URL=https://us-southeast-1.linodeobjects.com
AWS_S3_REGION_NAME=us-southeast-1
AWS_DEFAULT_ACL=public-read
The downside of Funkwhale’s S3-compatible object storage integration lies in how
files are uploaded. One cannot simply walk into upload files to the bucket;
music must be uploaded through Funkwhale’s API (via web or other means), and
then Funkwhale stores it accordingly (like for local uploads). I have a lot of
music, and I can’t be asked to manually upload it all. That’s, like, 2 hours of
half-hearted work. No, instead, the obvious solution is to build a script that
can automatically upload any new music from my local music directory to
Funkwhale automatically. What I’m considering now is how I want to do that. I
could leverage systemd to watch my local music directory, and run the upload
script whenever new music is uploaded. Could even expand it to remove music
whenever I delete it locally, though that seems a bit odd. I could instead setup
a cron or systemd-timer to run at a set interval, and check for any new files
since the last run, and upload them. Regardless of the trigger, the upload
functionality should ideally avoid duplicates, run in a non-blocking fashion,
maybe batch upload files, and be low impact on my desktop. So that’s next.
Turns out, when you update the SteamOS, it completely over-writes the operating system. All of the setup I had originally written was great, if I never update, which is unacceptable. Not all is lost; the quest simply gets harder. If I can’t rely on system-wide services, then I rely on user services.
My first attempt was to setup Syncthing as a system-wide service managed by
systemd
, installed via pacman
. There are several problems with this. First,
it requires disabling the read-only file-system. Next, pacman
is not setup nor
reliable, since every SteamOS update will over-write any changes I make to any
of the read-only file-system, including the directories that pacman
relies on.
Related, the update will also erase the Syncthing package. This means I either
never update (inadvisable, and unacceptable), or I setup Syncthing not in the
read-only file-system.
systemd allows for non-root-based services, called user services. The Arch Wiki systemd/User article describes this functionality much more than I will. Here are the relevant details:
~/.config/systemd/user
)Syncthing is incredible. I’ve written about it before, but the setup here is a bit more involved. The Steam Deck runs Arch Linux (and have I told you yet today that I do too?), so the Arch Wiki article on Syncthing gives some good insight. When I initially started this process, I installed the SyncthingGTK application from the Discover Store. This means it is a Flatpak application, and so doesn’t require elevated user privileges. I also tried the Syncthingy application, which explicitly calls out Steam Deck users. However, both require running the Flatpak in the background (like some users do for Discord or Spotify). I don’t like this, it feels off, and thus I sought a different approach.
I got real tired real quick of using the on-screen keyboard. After
complaining, a friend recommended I enable sshd
and just remote in to the
device. Doing so was a breeze, and I recommend to others who don’t have a
physical keyboard they can plug into their device. Drop to desktop mode
(hold the power button for a few seconds, and select the option), and start a
terminal (default is Konsole). Before remotely accessing the device, or using
elevated privileges via sudo
, I need to set a password for the default user,
deck. In the terminal, type passwd
and set it (and then put it in your
password vault so you don’t forget. You do have a password vault, right?).
Start the service, sudo systemctl start sshd
, and optionally enable it to have
sshd
automatically started on each boot (sudo systemctl enable sshd
). Get
the device IP with ip addr list
, from my desktop run ssh deck@ip-address
,
type in the password, and now I’m a grade-A Hackermans.
This setting is not reset on SteamOS updates, that I can tell. Once enabled, this will always start at boot, and always be on until explicitly turned off. Be mindful of that if you decide to wander away from your home network; maybe turn it off in public if you don’t need it.
There are 2 things required: a systemd service file, and the syncthing
binary. Syncthing is written in Go, and a compiled binary can be downloaded that
has no dependencies or installation requirements. It can be downloaded from
the Syncthing
Releases page for
many platforms and architectures. The Steam Deck is a Linux platform, using the
AMD64 architecture (or x86_64), so I grab that one. I’ll note here, since I have
SSH access, I do all the editing and downloading on my desktop, and then
transfer the files using scp
to the Deck. All of these steps can be done on
the Deck itself, without SSH access. Once the proper tarball has been
downloaded, extract it, and within will be the syncthing
binary, ready to
rock. I copy/move the binary to ~/.local/bin/syncthing
on the Deck. The exact
location is less important than ensuring the binary is within my home directory
on the Deck.
The systemd serivce file can also be taken from the extracted tarball, but
requires modification. In the tarball, it is
etc/linux-systemd/user/syncthing.service
. Copy this file to
~/.config/systemd/user
on the Deck, and edit the “ExecStart” line in the
“[Service]” section from
...
[Service]
ExecStart=/usr/bin/syncthing serve --no-browser --no-restart --logflags=0
...
to
...
[Service]
ExecStart=/home/deck/.local/bin/syncthing serve --no-browser --no-restart --logflags=0
...
(or wherever you decided to put the local syncthing
binary)
With everything in place, I can now enable and start the Syncthing user service:
systemctl --user enable syncthing.service
systemctl --user start syncthing.service
Since I don’t have a physical keyboard plugged in, I modify my SSH command slightly to forward the Syncthing web-UI from the Deck to my local machine:
ssh -L 31337:deck-ip-goes-here:8384 deck@deck-ip-goes-here
Now, on my local machine I can open one tab to localhost:8384
, to show
Syncthing on my local machine, and another tab to localhost:31337
to show
Syncthing on my Deck. From here, I add my local machine as a device on my Deck,
and begin sharing folders.
I’ve been using this setup for about a week now. I’ve synced almost 20GB of files, including configurations and saves for Retroarch. It works after restarts, OS and client upgrades, and waking the device from sleep. It sits quietly in the background, without having to start up applications. The biggest problem is that it doesn’t automatically update to the newest version of Syncthing. It’s also a bit involved to setup. To that end, I’ve written a tool to help with setup: Steam Deck Syncthing Setup. I’m still finishing it up, but I intend to make use of it to keep my version of Syncthing up-to-date. If you use it, let me know!
]]>Below are some specific mods I would like to highlight, and which I enjoy.
These two mods cover most of the survival aspects of my mod pack. “Basic Primary Needs” adds hunger, thirst, and fatigue, while “Basic Personal Hygiene” adds cleanliness. Managing these will feel tedious to some, but I really like having to eat and drink, and visiting a bath house after a long time adventuring.
Each mod can make use of additional HUD Status Bars, which makes tracking the new needs much easier.
This mod adds a portable player home, and is supremely comfy. Because I avoid fast-travel, I wanted some sort of camping mod. I originally used Maskar’s Camping Mod before learning of this mod. By comparison, the tent in Traveler’s Tent feels almost like cheating, but sometimes it’s important to treat yourself.
These I would consider my graphical improvements. I’m generally not too concerned with making the game look good, but I love making the game feel more realistic. These mods make Cyrodiil feel more alive.
This is a massive collection of city overhaul and enhancement mods. I was awe-struck when I walked around the Imperial City for the first time with this mod enabled. Bravil felt like a dangerous, crowded harbor town. Leyawin looks like an actual place people live. Though the improvements do come with FPS hits. Doubly-so if enabling the Open Cities option, which moves cities into the overworld space, instead of their own individual instances. It’s a balancing act: the immersion of walking directly into a city sometimes isn’t worth crashing to desktop when adventuring around cities.
“Common Oblivion” enriches the world of Oblivion by adding lots of little things, and helping different mods “talk” to each other. I like to think of it as filling in a lot of the details that feel missing from vanilla Oblivion.
This mod and the corresponding patch make the economy of the world more dynamic. What I really like are the merchant quests that are added. Several merchants in each town will ask you to find an item in one of the nearby dungeons. It adds flavor to the game in just the right way.
Lubron’s Patch for Enhanced Economy fixes some bugs and cleans up the code a bit.
A very simple mod that I feel really enhances my travel around Cyrodiil. I avoid fast-traveling whenever possible, and walking lit roads at night feels comfy. I’m partial to the Imperial model.
Arguably the only graphical enhancement mod, Natural Environments provides options for modifying the weather, water, and vegetation around Cyrodiil. The weather and vegetation enhancements especially stand out. Overall the mods don’t cause me much performance impact, if any.
I really enjoyed that in Skyrim there was a dude with a wagon you could pay to travel to the various cities. This mod adds similar functionality, and then some. Useful when playing the game without fast-travel enabled.
Arguably, these are the heavy hitters. These mods will alter the mechanics of the game, often making things more challenging but also more rewarding.
Maskar’s Overhaul is a massive endeavor. It “[improves] many aspects of the game, while maintaining the overall feel of the game and ensuring compatibility with most other mods.” I think it does so with great success! However, be forewarned, that this overhaul makes the game more challenging.
There is too much to cover about Maskar’s in this post, but I highly recommend it. It comes with a PDF instruction manual, which is 61 pages long.
As the name implies, this overhaul adjusts but does not change the vanilla combat experience. Whereas other mods add new moves or fatigue systems, this mod updates the vanilla combat experience to be more challenging and fair. It works with Maskar’s after a small modification, which will be covered in the next part. This is one of the mods that I haven’t played with for too long, and there are definitely some additional or alternative combat mods I’m considering. Namely, Dynamic Oblivion Combat and Combat Additions.
Rounding out the trio is a magic overhaul. Supreme Magicka approaches magic in Oblivion in a similar way to Vanilla Combat Enhanced with combat: it seeks to improve and expand, without replacing. To continue similarities, this mod is one I haven’t sank my teeth into as much. The characters I’ve been playing most recently haven’t achieved very powerful magical capabilities yet. An alternative to this mod is Av Latta Magicka.
In the last part of this series, I want to walk through a complete install of Oblivion from scratch.
]]>Starting from the beginning, Oblivion is available on many platforms, but my
experiences here will assume the Steam installation. The primary difference will
be with respect to how the tools used to mod Oblivion are run. I’ve got the
Game of the Year edition, which is Steam ID 22330
.
Much of modding Oblivion is done with the help of additional tools. A mod
manager is used for installing and configuring the mods. There are several
options for Oblivion, and the one I’ve been suggested and use is called Wrye
Bash
. Mod load order is also important, and the tool I’m using to help with
that is LOOT
. Finally, TES4Edit
, TES4LODGen
and BethINI
each helps with
performance and configuration.
I have the following directory structure setup for my mods:
OblivionMods
|- Archives
|- Backups
|- Tools
|- WryeBash
Archives is where I store the actual archives of the mods I use. Backups is
where I store any relevant backups for my Oblivion game, such as saves or
configuration files for the mods. Tools is where I put the executables for all
the tools I mentioned above. WryeBash is used to store the unarchived mods
(which it calls “projects”) and mod data that Wrye Bash
uses.
Because each of these tools is run using Proton, I also have a set of aliases configured. Similar aliases could be setup for using Wine instead. For each alias, modify the paths accordingly for your setup. I should also note that I’m running Oblivion using Glorious Eggroll’s Proton, version 6.16. I haven’t experimented with different Proton versions to find the most performant version, but if I do in the future, I’ll mention it.
Wrye Bash
is involved. I don’t know how to use it fully. There are a few
guides that helped me learn how to use it enough to get mods installed and
configured though. The first, and very relevant, is at Shrine of
Kynareth. I referenced
this guide, and the
other
written
guides
to learn how Wrye Bash works and what to setup. I also learned some tricks from
the Oblivion Comprehensive Modding Guide by
Dispensation.
The easiest option is to use the stand-alone executable from the GitHub releases page. Extract the archive, and then use Proton to run the executable in the Mopy directory. This is the alias I use; replace paths accordingly:
alias oblivion-wrye='STEAM_COMPAT_DATA_PATH=/path/to/steam/directory/steamapps/compatdata/22330/ \
STEAM_COMPAT_CLIENT_INSTALL_PATH=/path/to/steam/directory/ \
/path/to/proton/proton run /path/to/OblivionMods/Tools/Mopy/Wrye\ Bash.exe'
Additionally, I copy the Mopy/bash_default.ini file to Mopy/bash.ini and set
the sOblivionMods
to “Z:\path\to\OblivionMods\WryeBash”, sBashModData
to
“Z:\path\to\OblivionMods\WryeBash\Bash Mod Data”, sInstallersData
to
“Z:\path\to\OblivionMods\WryeBash\Bash Installers”, and sOblivionPath
to
“Z:\path\to\steam\steamapps\common\Oblivion”. In Wine, Z:
references your
local file system. Theoretically, because Wine is awesome, you may be able to
use Linux file system paths in the configuration, but I went with this.
The guides above provide a very thorough explanation of use. Of note: Wrye
Bash
in Wine does not like drag-and-drop actions, so don’t do them. I don’t do
anything special with my usage of Wrye Bash
: run the alias, install mods from
the Installers tab, enable or disable mods from the Mods tab. I generally don’t
do anything else.
LOOT
sets the proper load order for mods. There is a native Linux client, but
I ran into this issue and decided to
just use the Windows version. The GitHub releases page includes a 7z archive
with a stand-alone executable, and that’s what I used.
Download the stand-alone executable, and extract it to OblivionMods/Tools. This is the alias I use; replace paths accordingly:
alias oblivion-loot='STEAM_COMPAT_DATA_PATH=/path/to/steam/directory/steamapps/compatdata/22330/ \
STEAM_COMPAT_CLIENT_INSTALL_PATH=/path/to/steam/directory/ \
/path/to/proton/proton run /path/to/OblivionMods/Tools/LOOT/LOOT.exe'
On first run, it should auto-detect the Oblivion installation and configure everything accordingly. If it doesn’t, there are instructions on the Homepage for configuration.
LOOT
is pretty straight forward. It references a master list of mods to
determine the optimal load order for all installed mods. I ran into an issue
where LOOT
couldn’t properly download the master list, and so as a work-around
I manually downloaded the master list, and then configured LOOT
to use that
local file instead of the remote Git repository. Those instructions are covered
in the FAQ. If
everything works, and the list of mods is there, then you can run a sort, and
apply the changes. LOOT
will inform you of any “dirty” mods, which you can use
the next tool the clear up. I ended up keeping LOOT
open, while stepping
through the cleaning procedure for each mod, until everything looked happy.
TES4Edit
is the Oblivion version of xEdit
, which is an incredible tool. All
I use it for is to clean dirty mods. LOOT
provides a link to the quick cleaning
guide,
which gives us exactly the steps required.
Download the latest build from GitHub, and extract it to OblivionMods/Tools. This is the alias I use, which runs the “Quick Auto Clean” function; replace paths accordingly:
alias oblivion-tes4edit-quick='STEAM_COMPAT_DATA_PATH=/path/to/steam/directory/steamapps/compatdata/22330/ \
STEAM_COMPAT_CLIENT_INSTALL_PATH=/path/to/steam/directory/ \
/path/to/proton/proton run /path/to/OblivionMods/Tools/TES4Edit/TES4EditQuickAutoClean.exe'
TES4Edit is also useful for other, non-quick-clean functionality, so I have this alias for that:
alias oblivion-tes4edit='STEAM_COMPAT_DATA_PATH=/path/to/steam/directory/steamapps/compatdata/22330/ \
STEAM_COMPAT_CLIENT_INSTALL_PATH=/path/to/steam/directory/ \
/path/to/proton/proton run /path/to/OblivionMods/Tools/TES4Edit/TES4Edit.exe'
Run the quick-clean alias, select the problematic file, and click “OK”. Only one file can be cleaned at a time.
TES4LODGen
will generate the relevant LOD files ahead of time. Apparently it
helps with performance in-game, but may result in slower initial load times when
starting the game.
I downloaded the files from Nexus, and extracted the archive to OblivionMods/Tools/TES4LODGen. Here’s the alias; replace paths accordingly:
alias oblivion-tes4lodgen='STEAM_COMPAT_DATA_PATH=/path/to/steam/directory/steamapps/compatdata/22330/ \
STEAM_COMPAT_CLIENT_INSTALL_PATH=/path/to/steam/directory/ \
/path/to/proton/proton run /path/to/OblivionMods/Tools/TES4LODGen/TES4LODGen.exe'
Run the alias. The program should auto-find everything, do some magic, and will eventually report that it has finished. At that point, you can close the application.
BethINI
helps manage the “oblivion.ini” file, providing sane options and a
wizard for configuration. While not required, it does help with optimizations.
I downloaded the files from Nexus, and extracted the archive to OblivionMods/Tools/Bethini. If you use AutoHotKey apparently you can use that to run it, but that doesn’t make sense to me, so I went with the stand-alone executable. Here’s the alias; replace paths accordingly:
alias oblivion-bethini='STEAM_COMPAT_DATA_PATH=/path/to/steam/directory/steamapps/compatdata/22330/ \
STEAM_COMPAT_CLIENT_INSTALL_PATH=/path/to/steam/directory/ \
/path/to/proton/proton run /path/to/OblivionMods/Tools/BethINI/BethINI.exe'
Just like the rest, run the alias and answer the questions. BethINI
will make
backups of the modified INI files before over-writing them.
Once all the tools are assembled, and usable, the next step is mods! In my next post, I’ll cover some of my favorite mods. The third part will then be a complete walk-thru of my installation of my full mod list.
]]>Nothing is more tiresome than midweek afternoon service. All the candles, and the verses, and the never-ending procession. Odin’s great and all, but I don’t think he cares about this. Of course, I mention that one time to the head priest and it’s latrine duty for the week! I guess now it doesn’t matter. All these acolyte duties were from many years ago. It was pure fate, the day my current teacher Maell’ezharon wandered into our village. He needed certain gemstones, which my family was renowned for, and which I was responsible for that day. I just happened to bring exactly the number he needed with me to the church that day. That’s a habit I have. The priests say I’m “blessed by foresight.”
Anyway, Maell’ezharon wanders in, and finds me, and I tell him I know he’s looking for these gemstones, and he’s a bit surprised, but mentions that he hadn’t had his serious anti-divination protections up, since he figured no one would care. I told him I didn’t know what that meant. The priest chimed in that I was blessed by foresight. Maell’ezharon said that was shit. I was blown away. The priest huffed and wandered off, and I just stared at this elf who seemed completely unphased by an ability the priests couldn’t stop fawning over me for. So I push him a bit on it, and he says that divination is mighty common, and that if I wanted to learn more he could teach me, and he’d be willing to give me a discount on his services if I gave him a discount on the gems!
And man temples are booooring! So yeah, I just packed up some stuff and told the priests I had to go because “foresight told me I had to!” and caught up with Maell’ezharon and off we went! I brought some extra gems, and a few extra sandwiches (which he seemed off-put by, which I account to his dainty elf ways, which meant more for me!).
For the most part, it was kind of boring - but not as boring as the temple! Nothing is as boring as that. Trust me. Just routine travel along “safe and well-known roads” (says Maell’ezharon) to “respectable and trustworthy merchants” (says Maell’ezharon) for “law-abiding and fair trade deals.” (says Maell’ezharon). I was a bit surprised to find myself still saying a prayer here and there but old habits die hard. The more we travelled, the more Maell’ezharon would teach me. First he helped me refine my portent abilities, and got me a spellbook, and let me copy some of his spells into it. Then, in each town we went to, we would combine our powers to get the best deals possible. I would call upon my divine powers to aid him, and he would wheel-and-deal his way through trade deals and contracts. He insisted, time and again, that we do things “legally and fair” (his words) which was fine by me.
Then, the event happened. And magic suddenly left, and Maell’ezharon… did not take that well. I should say, this was probably 5 or so years into his mentorship. He had taught me many things, and I was developing into “quite the capable wizard, if I do say so myself” (Maell’ezharon said that). We had travelled all over the place, and eventually Maell’ezharon decided he’d like to “invest in real estate since it’s like free money” so he bought a tower and did the whole typical wizard thing: magic plants, and a few animated objects as guards, and what not. I helped with that too, which was really fun. Anyway when the event happened, we were trading and suddenly I just felt this… emptiness. Like, a part of my body was suddenly missing. I looked at Maell’ezharon and he was pale as bone. He just stared at his hands, then looked at the merchant and told him he had to go, and he just left. He didn’t even get his things, he just stumbled out of the shop. I grabbed anything that was ours, and walked outside and saw him just standing there, waving his arms and trying to say the words, and his eyes were a bit crazy-like, and he was sweating. After about 20 minutes, he just sat down and stared. It took me almost 4 hours to finally get him up and to an inn. The next day we went back to the tower, and it was really quite a sad sight. The plants had all died (and not because I forgot to water them I always watered them I am responsible), the guards were piles of rubble. I helped him in, to his room, to his favorite chair, where he just slumped down and stared into the empty, cold fireplace. For a few weeks I tended to him, making sure he at least ate. And I kept up the place, cleaning as best I could. But after a while, I started worrying about my family, and so I hired a local farm boy to take care of Maell’ezharon while I was gone (feed him twice a day, make sure he uses the loo, and don’t let him hurt himself).
]]>Pathfinder has been the tabletop game of choice for my longest-running group. One of my favorite activities is creating characters. I love theory crafting, pouring through source material, and setting limits. My favorite archetype of characters are those that take the combat focus of a warrior and supplement it with magic. The druid, which I already touched on, is a class that has this built in. This blending of magic and metal is often called a Gish.
All of my characters come from a concept. This concept is heavily mechanics focused, and heavily opinionated: I want a “proper” eldricth knight. To me, a proper eldritch knight doesn’t use any gimmicks or tricks to get into the prestige class sooner, doesn’t rely too heavily on especially unique or strange equipment, and sticks to a limited set of rule books.
For this build, I’ll be limiting myself the these rule books:
Eldritch Knight needs a martial class, and an arcane class. While there are plenty of options, I wanted to start with the most basic options:
Fighter 1 / Wizard (Enchantment) 5 / Eldritch Knight X
Wizards have the option of taking a school, and it makes a lot of sense for a melee combatant to focus on buffing itself. Thus, I went for a Transmutation school, and specifically for the Enchantment school. For opposed schools, I opted for Evocation and Necromancy. I lose out on some nice spells, certainly, but considering our focus, we wouldn’t be using many blasting spells. Not to mention, our spell penetration will be relatively weak by comparison to more spell-focused builds. Obviously, open to alternatives, but I would advise against choosing Illusion, since it has some of the better non-transmutation buffs in the game.
Wizards also have to choose an arcane bond, which is either a familiar or an item. Familiars are incredibly useful, but for this build I really liked the idea of having my arcane bond be my weapon. This can be very dangerous! If your bonded item is taken from you, or destroyed, you will have a very difficult time casting spells.
In our Pathfinder group, we don’t really use traits, but I use traits. Specifically, I always use 1 trait when it is applicable, because I believe without this trait, any Gish build that relies on multiple classes is severely penalized: Magical Knack. This trait will allow me to up my caster level for Wizard by up to +2, up to my maximum hit dice. This doesn’t give me more spells per day, but it does affect spell details such as duration, or saving throw DC, that rely on caster level. Conveniently, for this build, we have exactly two levels that do not give a bonus to wizard caster level: the 1 level of fighter we take, and the first level of eldritch knight.
If two traits are allowed, solid choices are Reactionary
for a bonus to
initiative; Deft Dodger
for an improved reflex save; Eyes and Ears of the
City
for a bonus on perception and to add it as a class skill; or Armor
Expert
to reduce all armor check penalties by 1.
Magical Knack (Wizard)
Human. Elf as a very close second. The bonus for spell penetration, the bonus to perception and spellcraft skills, and the ability score modifiers are all solid. But, this build won’t need to worry about puncturing spell resistance, and because we’re a melee combatant, we need all the constitution we can get. Human provides a bonus +1 skill point per level, a bonus feat, and a floating +2 ability score increase, which we can use for our strength or intelligence.
None of the three classes in this build provide a significant number of skills; all three give 2 + INT per level. However, being a wizard, we do have a nice intelligence score, and as a human we get an additional +1. At a minimum, we’ll probably get 5 skill points per level. There are no skill requirements to get into eldritch knight, so we can focus on the “important” skills:
Knowledge (Arcana)
Knowledge (Dungeoneering)
Knowledge (Nature)
Knowledge (Planes)
Knowledge (Religion)
Perception
Sense Motive
Spellcraft
Survival
I also like to drop a single point in Climb
, Swim
, Ride
, and Fly
, if I
can afford to. Getting the trained bonus, combined with our generally good
strength and dexterity, means we can accomplish the basics. As a wizard, we can
further supplement these with spells. Unfortunately, we do not get perception as
a class skill, and so using a trait for that would make sense.
It is very easy to get lost in feats. Like most aspects of Pathfinder, there are
an excess of options. To narrow down my focus, I tried to consider what the
character’s options were: warrior focused on melee combat; wizard focused on
buffing and crowd control. Being in melee means I’ll be wearing armor, and that
brings the Arcane Armor Training
feats into relevance. There’s also the
Arcane Strike
feat, which is perfect for arcane gish builds. Initiative is the
king of combat, and as a wizard I’ll want to try going first as often as
possible. I also don’t have the most hit points, due to those 5 levels of
wizard. Improved Initiative
and Toughness
make sense. Considering the
possibility of being in combat when buffing, Combat Casting
makes sense. I’ll
probably focus on a specific weapon, so Weapon Focus
makes sense, and as a
fighter/eldritch knight, those levels will stack for feat requirements. That
means, Weapon Specialization
is a possibility in the future.
While I’m sure there are some crazy feats in other books, all these feats come from the Core Rulebook. That excites me for some reason. Thus far, the only non-core rulebook thing we’ve done is traits, and for this build we can live without those if absolutely necessary. Again, this limit isn’t necessary, but it was something I wanted to adhere to for this build.
The number of feats laid out above is very quickly growing. Conveniently, I’m
entering the game with 3: one for level 1, a bonus for human, and a bonus for
fighter. That’s Improved Initiative
, Toughness
, and Weapon Focus
. Any
two-handed weapon will do, though I’m partial to the good ol’ greatsword. Using
a sword-and-board will severely restrict my casting abilities, because both
hands will be full.
Improved Initiative (Level 1)
Toughness (Human bonus feat level 1)
Weapon Focus (Greatsword) (Fighter level 1 bonus combat feat)
Scribe Scroll (Wizard level 1 bonus feat)
Combat Casting (Level 3)
Arcane Strike (Level 5)
Craft Wonderous Items (Wizard level 5 bonus feat; debatable)
Arcane Armor Training (Eldritch Knight bonus combat feat)
Power Attack (Level 7)
The wizard gets a bonus feat at level 5, which is limited to an arcane crafting
feat, a metamagic feat, Spell Mastery, or an arcane discovery. I opted for
Craft Wonderous Items
because I like the options it opens up. There are some
good metamagic options I considered though: Extend Spell
makes sense for
buffing; Still Spell
makes sense since we’re in armor; Toppling Spell
can
give Magic Missile and other force damage spells some crowd-control. Since
evocation is one of my opposed schools, though, it wouldn’t work for me.
Wizards at first level also get Scribe Scroll
as a bonus feat. Scrolls are
great for situational spells.
There’s only one piece of gear that is unusual here, and it’s the armor. Kikko
armor is from Ultimate Equipment, and specifically is a type of eastern setting
armor. It provides a +5 armor bonus, allows for a dexterity bonus of +4, incurs
a -3 armor check penalty, and has 20% arcane spell failure. However, it is
primarily made of metal, and thus can be made from mithral. A mithral suit of
kikko armor provides +5 armor bonus, allows for a dexterity bonus of 6, incurs
no armor check penalty, and has a 10% arcane spell failure. Those numbers are
fantastic. No armor check penalty is great for the odd Climb
or Swim
check,
and for when I can Fly
. The 10% arcane spell failure chance is lowered to 0%
by Arcane Armor Training
, allowing me to safely cast in armor when I so
choose. If limited to the core rule book, the next best bet will be either a
breastplate, or hide armor.
As for the weapon, I went with a greatsword. You could go with a falchion, and “crit-fish,” but I’d rather have the raw damage. Numbered enchantment bonuses are good, but there is one specific enchantment I would highly suggest: called. A called weapon can be teleported to the wielder’s hand as a swift action. Considering our greatsword is our arcane focus, we’ll want that in our possession at all times, and this greatly increases the chances of that. Keen wouldn’t be too bad; increasing the critical threat range to 17-20. Spell storing obviously makes a lot of sense, too.
I’m a spell caster, so I picked up a few Pearls of Power
, a few wands (Cure
Light Wounds
, Protection from Evil
, and Expeditious Retreat
), and a bunch
of potions of Lead Blades
. The reason for the potions and not scrolls or a
wand is to avoid Use Magic Device
checks.
I have a collection of mundane items, including things like a bedroll, rope,
sewing needles, chalk, and a handful of alchemical items, that I like to carry
in a Handy Haversack
.
Beyond all this, I went with the remainder of the “Big 6”: a Cloak of
Resistance
, a Ring of Protection
, a Headband of Intellect
, and a Belt of
Strength
.
With any left over funds, investing in additional spells known, scrolls, copies of your spellbook, and cheaper wonderous items is always nice.
I’m a wizard (Harry), with the most versatile spell list in the game, and a book
(or books) that can get them all! Aside from the opposed school (but even then,
there are some worth getting, such as False Life
), I went for every spell that
I even remotely thought I would use. On my sheet, that’s 62 spells across levels
1 to 3. I won’t mark them all here, but there are some which I wouldn’t want to
be without.
Level 1
- Comprehend Languages (also a great scroll)
- Enlarge Person
- Magic Missile (despite being opposed, a solid fall-back)
- Mount
- Protection from Alignment (generally, evil and chaos make the most sense)
- Shield
- Vanish
Level 2
- False Life
- Glitterdust
- Invisibility
- Mirror Image
- Resist Energy
- Rope Trick
Level 3
- Ablative Barrier
- Fly
- Haste
- Phantom Steed
- Sleet Storm
- Versatile Weapon
At character level 9, we get access to 4th level wizard spells. Some spells on
my wishlist include great crowd-control like Acid Pit
and Black Tentacles
;
self-buffs like Stoneskin
and Greater Invisibility
; and utility like
Dimension Door
, Stone Shape
, and even Wall of Fire
or Wall of Ice
,
despite them being from an opposed school.
Also, as a wizard I got Scribe Scroll
at first level. Many spells in my
spellbook are almost only there so I can make scrolls of them. Examples include
Identify
, the various ability enhancements (Cats Grace
, etc..), and so on.
I’ve actually played this build 3 times. The first time, as the human shown here. The second time, as this build but with the zombie lord template added. And a third time, but with the skeleton champion template added. Needless to say, those templates make this build incredibly powerful. However, I made some poor play decisions, thinking I was a bit more resistant that I actually was, and so all of these characters died rather unfortunate and avoidable deaths.
What I’ve learned through all three characters is to be patient! This build is very capable, with many options. It can wade into combat and deal some significant damage, even before buffs. Out of combat, it has the flexibility that a well-filled spell book can provide, and a good coverage of knowledge skills.
When engaging in combat, I always try to make sure I have the following self-buffs up, or ready to be up:
Protection from Alignment
Shield
Resist Energy
Mirror Image
Ablative Barrier
For damage, there’s a ranger spell called Lead Blades
which is so good it
should almost be considered essential. Versatile Weapon
can help with damage
resistance which is overcome with special materials.
As for party buffs, few options beat Haste
.
For crowd-control, I’ll tend towards a Glitterdust
, Pyrotechnics
, or Sleet
Storm
.
In combat, get buffed to a point you feel capable. This may take 2 or 3 rounds.
That’s OK! You’re the second line. Use your swift action for Arcane Armor
Training
, buff yourself, move in. Do that again, maybe moving in for a flank.
Third round, swift action for Arcane Strike
, and unload with a Power Attack
greatsword swing! If you’ve got Lead Blades
up, that’s 3d6 + 6 (Power
Attack
) + 2 (Arcane Strike
) + 1.5x strength bonus. Not bad! Unfortunately,
Eldritch Knights lag behind for base-attack bonus, so at level 8 (which is the
level for all my builds) it’s only 1 attack a round. At level 9, you get two
attacks a round. You can also fall back on a composite longbow, which you can
also use Arcane Strike
with for 1d8 + strength bonus + 2 (Arcane Strike
),
which isn’t as impressive as that big sword, but can still contribute. And, if
weapons won’t due, you’re a wizard! Keep your prepared spells flexible. Scribe
Scroll
allows you to have certain spells available at all times. Craft
Wonderous Items
can allow you to create plenty of gizmos and gadgets that give
you once-per-day options. Crafting is powerful; use it!
I’ve always had fun with this build. I have, no joke, lost sleep just figuring out cool spells to add to the spell book, worthwhile scrolls, and just imagining scenarios. Despite the apparent short-comings, the Eldritch Knight can definitely hold it’s own, though it does require a ramp-up time.
Pathfinder has been the tabletop game of choice for my longest-running group. One of my favorite activities is creating characters. I love theory crafting, pouring through source material, and setting limits. While I’ve made many, many characters, once class I haven’t touched is druid. The first character I ever made, back in a D&D Second Edition, was a druid. I don’t remember much from that character, except that I had a double-scimitar (think Darth Maul lightsabre, but scimitars). Since that, I haven’t done much with druids, which I think is a shame, because it’s a fascinating class that ticks many of the boxes I look for in a character. I love characters with options, that require a bit of mastery to play. Many characters I like the most are multi-classed, mixing spellcasting with melee combat. Some classes, though, provide all this out-of-the-box. From the core book, both cleric and druid satisfy my demands. I hold, still, that cleric is the most powerful class. I had this belief in D&D Third Edition, and I carry it forward into Pathfinder and D&D Fifth Edition. That’s a topic for another post, though.
All of my characters come from a concept. Sometimes the concept is really straight forward: I want a “realistic” fighter. I want a “proper” Eldritch Knight. Sometimes, the concept is more story based, as is the case with this druid. I read a story about a moose in Alaska that ate some apples which had fermented, and wandered into a town drunk. I thought, “that would make a fun animal companion!”, and thus the idea for a druid. The full backstory for the character will be around here somewhere. For now, I’ll spend the rest of this post focusing on the build.
Drunk moose. Drunk… spirit moose! OK, now we’re getting somewhere. As I fleshed out the story, and spoke with a friend about druid, I liked the idea of dipping one level in barbarian, then continuing with druid. That one level gets me quite a bit: d12 hit dice (and max at first level!); +1 BAB; +10 movement speed; and rage. The biggest downside is a delay in spellcasting, but I think it’s a fair trade-off. Considering the build is equally focused on spellcasting and melee combat, the rage will provide an additional resource where spells and standard attacks may not be sufficient. Obviously, druid will be our favored class.
Barbarian 1, Druid X
Druid’s aren’t reknown for being particularly skillful, but they get some great class skills. Of note, we get Handle Animal, Heal, Knowledge(Nature), Perception, and Survival. At 4+INT skill points, we can reliably grab most of these. Throw a point of two into Fly, Climb, and Swim, and between having a great strength, and wild shape, we can deal with whatever obstacles those skills require.
Handle Animal
Heal
Knowledge (Nature)
Perception
Survival
Pathfinder has no shortage of races to choose from. For most of my builds, I try to stick to the “basics” provided in the Core Rulebook, but I also allow myself the Advanced Race Guide races. For this build, though, mostly due to the backstory/concept, I went human. We’ll opt for a bonus HP each level in druid, for our favored class bonus.
Human gets a bonus first level feat, then all characters get a first level feat. I tend to make characters for whatever level our campaign is at, and for now that’s 8th level. That gives me five feats total. At fifth level, I’m taking Natural Spell. Since I’m a melee bruiser, I’m interested in Power Attack, Vital Strike, Toughness, and Powerful Shape, but I can’t get the last one just yet. Druids are fantastic summoners, and it’s very tempting to pick up Augmented Summons. For this build, though, it’s a two feat investment for a strategy I won’t be using much. For first level, I went with Toughness and Power Attack. As a first level barbarian, those two feats give me a lot of staying power. As a druid, my BAB won’t progress as strongly, but in wild shape it can give me a lot of damage. Combined with vital strike, certain shapes will give me a single, “two-handed” attack for a significant amount of damage at a good attack bonus.
Thematically, I’ve opted for the feat Spirit’s Gift. It fits my drunken spirit moose concept perfectly.
That leaves level 7. The aforementioned vital strike could be a great option. There’s also furious focus: for a single, two-handed power attack, remove the power attack penalty. Since we’ll be taking advantage of our animal companion, there’s also the option for teamwork feats. Animal companions get feats, too, and there are a few in particular that would work very well: Shake It Off would give us both +1 on all saves; Improved Spell Sharing would let me share buffs better; and then there are the charges. These interested me. I need to step back briefly to consider the animal companion, so we’ll leave our feats in an undecided state for now.
Bonus: Toughness
Lvl 1: Power Attack
Lvl 3: Spirit's Gift
Lvl 5: Natural Spell
Lvl 7: ???
By now it should be clear this is not really a min-max guide. There are plenty of guides that exist already for that sort of build; I’ll link a few I’ve referenced below. In those guides, animal companion choses are pretty clear: take a wolf/dire wolf if you want to be a trip artist; take a big cat for superior damage; take one of any number of dinosaurs for superior options. No where is a moose mentioned, because they’re not “optimal.” That’s fine. I don’t want optimal, I want drunken spirit moose.
Moosen start off pretty bland. They don’t get any special attacks, they’re medium size, an average AC, an average attack, and relatively low damage. At level 7, they get significantly better: large size; better AC; better damage, and powerful charge. For this build, I’ll focus on charging. Both I and the moose will charge hard into whatever enemy we want to focus first. With some of the team work feats alluded to above, we can emphasize significant bonuses and improvements to charging.
If I wanted to change this to a more optimal build, I’d probably go for an axe beak. It could be the in-universe thematic equivalent of a moose. Qwark.
In addition to my feats, I get feats for my animal companion. At character level 8, I’m a 7th level druid, which means my animal companion gets 3 feats, with a 4th coming next level. The charge feats I’m considering would be 3 feats minimum: 2 teamwork feats, and then Coordinated Charge. The requirements for Coordinated Charge are 2 teamwork feats, and a BAB +10. My animal companion, of any flavor, won’t have that until level 17! That’s a bit of a downer, but there are some other interesting ones that lead up to it nicely. Distracting Charge would give either my moose or me a +2 to hit against the target of a charge. Intercept Charge could provide significant defensive benefits, though neither my moose nor I are particularly defensive oriented. Shake It Off would give Moose and Me +1 on all saves while we’re adjacent. And Improved Spell Sharing helps with buffing. The one thing about ISS though is the requirements are a bit… odd. It seems to be intended for use by a class that can share their teamwork feats, but I think a discussion with a DM can resolve the issue.
Druid:
- Bonus: Toughness
- Lvl 1: Power Attack
- Lvl 3: Spirit's Gift
- Lvl 5: Natural Spell
- Lvl 7: Improved Spell Sharing
Moose:
- Lvl 1: Toughness
- Lvl 2: Weapon Focus (Gore)
- Lvl 5: Improved Spell Sharing
Looking forward slightly, next level we each get another feat.
Druid:
- Lvl 9: Powerful Shape
Moose:
- Lvl 8: Improved Natural Attack (Gore)
Since we’re wild-shaping, we don’t need to worry too much about armor and weapon. We can get the benefits of a shield, so we’ll want a decent one of those. Ring of Protection (+1) is a standard, and I’ll also opt for a Cloak of Resistance (+2). We’re a bit MAD (multi-attribute dependent), wanting high strength and wisdom primarily, with good dexterity and constitution still. I’ll take a Headband of Inspired Wisdom (+2), and a Belt of Physical Prowess (Strength and Constitution +2). In exchange for a weapon, I’ll pick up an Amulet of Mighty Fists (+1). Finally, because wild shape is so important, we’ll pick up Druid Vestments, which give us an extra wild shape use per day.
Headband of Inspired Wisdom, +2
Amulet of Mighty Fists, +1
Cloak of Resistance, +2
Druid Vestments
Belt of Physical Prowess (STR/CON), +2
Ring of Protection, +1
Heavy Wooden Shield, +1
Scimitar
I have a mundane item pack I generally pick up as well, which includes things like a mirror, fishing hooks, and the like. Normally it’s all in a Handy Haversack, but since I’m shapshifting so often, for the druid that’ll shift to a Polymorphic Pouch.
Also, a Ring of Eloquence is a solid buy, to allow for discussion which shapeshifted.
Druids have a lot of spell options. We’re a melee fighter, so many of our spells will focus on buffing, debuffing, and control. We can also include some out-of-combat utility. There are too many options to list, and again, guides already exist that go through every spell and analyze them. Here are the spells that I’ll consider regularly:
Level 1:
- Entangle [Control]
- Faerie Fire [Control][Debuff]
- Frostbite [Buff][Damage][Debuff]
- Goodberry [Utility]
- Longstrider [Buff]
- Magic Fang [Buff]
- Mudball [Damage][Debuff]
- Thorn Javelin [Damage][Debuff]
- Thunderstomp [Control][Debuff]
Level 2:
- Barkskin [Buff]
- Lockjaw [Buff][Control]
- Natural Rhythm [Buff][Damage]
- Resist Energy [Buff]
- Sickening Entanglement [Control][Debuff]
- Stone Call [Damage][Debuff]
- Vine Strike [Control][Damage][Debuff]
- Whip of Spiders [Damage][Debuff]
- Wilderness Soldiers [Control][Damage]
Level 3:
- Call Lightning [Damage]
- Earth Tremor [Damage][Control][Debuff]
- Fey Form I [Utility]
- Fungal Infestation [Debuff]
- Greater Magic Fang [Buff][Damage]
- Greater Thunderstomp [Control][Debuff]
- Spike Growth [Control][Damage][Debuff]
- Thorny Entanglement [Control][Damage]
- Vermin Shape I [Utility]
Level 4:
- Aspect of the Stag [Buff][Damage]
- Cape of Wasps [Buff][Damage][Debuff]
- Echolocation [Buff]
- Freedom of Movement [Buff]
- Grove of Respite [Utility]
- Slowing Mud [Control][Debuff]
- Spike Stones [Control][Damage][Debuff]
- Strong Jaw [Buff][Damage]
I’ve never played this build! I’m sure it could use some modifications. The emphasis on choosing a moose over other animal companions could be a serious hinderance. I think the general play would go like this: buff self, sharing the buffs with my animal companion; enter melee combat, preferably by charging at a target with my animal companion; throw around control and debuff spells as necessary.
This is very much a first draft, but I think it could be a fun one!
Syncthing is an incredible tool. Many days past I stumbled upon it as an alternative to Dropbox. It’s different from Dropbox, or similar services, though, in a number of ways. For one, Syncthing is a peer-to-peer synchronization program, whereas Dropbox is a centralized file storage and synchronization service. When you setup and use Syncthing, the files only ever live on whichever peers you setup. This is different from Dropbox, or similar services, where files live on their servers. There’s more to it, and for all the details, the Syncthing website provides plentiful information.
In this post, I want to discuss how to setup Syncthing, and some use-cases for it. In future posts, I want to explore setting up custom relay servers, and perhaps some more use-cases as well.
Install the appropriate package for your operating system. Syncthing is available on just about every OS out there. Syncthing already has thorough installation documentation, so I won’t re-write what’s already available. I will discuss how I setup my Syncthing instead.
On my desktop, running Arch Linux, I installed the necessary package:
$ sudo pacman -S syncthing
When I was running Gnome, I also installed syncthing-gtk
to provide a tray
icon. After my switch to KDE Plasma, the Syncthing application displays a tray
icon by default, and so I removed the now unnecessary package. When I had a
Windows partition, I also installed SyncTrazor
for a tray icon.
The second device of choice is my Android phone, where I installed the Syncthing app (helpfully available on F-Droid too!).
With packages installed on both devices, I then followed the guide. All things considered, it was a very easy process.
One of the most immediate uses I had for Syncthing was music. I finally decided
to drop all streaming services, and start buying my music. As a result, I
suddenly had a growing music library available on my desktop. This was the
primary reason I decided to try Syncthing: to get music files from my desktop
onto my phone. After setup, syncing was a breeze. The new problem became space:
I have quite a bit of music now, and I don’t necessarily want all of it on my
phone. Conveniently, Syncthing allows for creating a .stignore
file, which
tells Syncthing which files to exclude from synchronizing. The
documentation provides a great
breakdown of available options. One challenge is that the .stignore
file is
not synchronized. To get around this, I setup my ignore file to include a
second file, which does get synchronized. That file lists every directory and
subdirectory in my music folder, and then ends with **/*
. For any directory or
subdirectory (generally artist and album, respectively) that I want to sync, I
place a !
before it. The eventual plan is to automatically update the file
whenever new music is added to the directory. When I get around to that, I’ll
almost certainly post about it.
Not long after music, I started looking around for a good to-do / note-taking app for my phone. I wanted an application that was simple, without bells and whistles. I tried a few before settling on Markor. This app is wonderful. Everything I want, with almost nothing I don’t. It’s open-source, actively developed, available on F-Droid; it works on local files, and that’s it. I started using it to track my gym workouts, make grocery lists, or track suggestions for media. As long as I was on wi-fi, those files were waiting for me on my desktop. Very convenient, simple, and effective.
Another straight-forward use case: synchronizing pictures. As I continue to “de-Google” my life, I needed a replacement for Google Photos. I have a Flickr, but I’m not certain that I’ll hang onto it. For now, I just need a simple way to synchronize pictures between my phone and my desktop, and Syncthing provides that.
I’m writing this post as part of #100DaysToOffload, an initiative to inspire writing habits. Perhaps you could do the same.