Before we get started, I want to say, here, really quick, that this is a short overview, of what settings are what, where they are, the good things and bad things about SMF, so if you don't want to play with it yourself, you can follow along with me as I do it. I will talk about some of the pros and cons of running an SMF site, and touch briefly on semantic things that I will cover more thoroughly later in a more focused guide. Primarily, this guide will look at, besides pros and cons, the settings and adjusting things to your liking. If you're used to Jcink and similar, there is a tiny bit of a learning curve, and this guide aims to make that curve less steep.
Some things to get out of the way:
I've been working with SMF since 2005 or so, and I will tell you right now, development is the slowest it has ever been. Don't expect the core software to change much. Fortunately, SMF has a very strong modding community, and anything that someone needs that doesn't exist, I may be able to do. Because of this, no two SMF sites operate the exact same way, and adding new features and expanding functionality is really just a matter of either figuring out how, or finding someone else to do it.
So, this, this is what SMF's greatest strength is. It is fully and entirely customisable, top to bottom, change anything in it you like. It is licensed as open-source software, which means you really are allowed to change anything, and make the software you want it to be, if you can. You can even change it all and then re-release it under another name (provided you don't pretend SMF endorses you).
I've said it a thousand times and I'll keep saying it, SMF is rude. It does not like anyone. Half the time it doesn't even like me (being fair, it breaking all the time might be how it shows affection, too), so if you get overwhelmed and give up easily, or want instant results, SMF is not for you. If you're willing to stick with it, accept that you will absolutely break it a lot, ask for help, and put in some effort, it is very rewarding, and SMF can be customised and extended in ways a large number of the competition, so to say, cannot be. SMF can also teach you a lot, too, albeit not always the kindest way. Everything I know about coding, I learned because SMF broke in a way that made me learn it. Yeah, you can be me, too, someday, if you're bullheaded stubborn enough. P=
Disclaimer: I know nothing about SMF 1. I have never installed it, and I don't intend to. My guess, though, is it's not too different from 2; major versions usually are, but generally follow the same logic. However, I will not support SMF 1. Uh. Because I can't, really.
Note: If you're more familiar with old ProBoards, SMF will be more familiar to you, as well. ProBoards at one time ran on SMF's predecessor, YaBB, and the influence from it remained for quite some time.
Now, let's get going, rambled enough up here haha.
This should be fairly straight-forward. You'll first need to either follow the prompts through Softaculous, if you have access to it through cPanel, or upload and extract the SMF installer files, and then create a blank database for it. Visit the URL you extracted to, and follow the on-screen prompts there. Remember to input the correct database information. When doing installations through Softaculous, if you want it on the root URL of your domain, you'll have to change its settings, because it will try to install at /smf.
Sometimes, the manual installer will fail to create a file called Settings_bak.php. To create this yourself, just make a copy of Settings.php, and rename it to Settings_bak.php (this is a backup file of your settings, or will be, and SMF wants it there as a fail-safe -- spoiler, it's really not one, but alright, we'll pet the pretty).
One thing: I highly recommend having your root user #1 username something different from what it will be displayed as. As no one but admins can find that username, it makes it all the harder for a brute-force bot to try and log in as root admin #1 and tank your forum. It also makes it harder for your pissy members to try it (don't laugh, the only time any of my boards have ever been hacked, it was a member that did it). The only draw-back is you'll have to remember the username, because that's what you log in with, but ticking stay logged in will fix this (it literally never logs you back out unless you switch devices or clear cookies).
Quick tip: if you like sidebars better than drop menus, there's a double arrow to one side above the menus in the ACP. Click this to turn all the drop-down menus in the system into sidebars with links. (Only applicable on SMF 2.0.)
There are a bunch of check boxes, text inputs, and doo-dads in the SMF configuration panels, so we're going to take this relatively slow, and take them as it comes. We'll start up here in the general configuration, so pop into SMF's ACP, and then go into Configuration => Core Features. What's this? This page allows you to turn on, or off, varying different little doosnickities. These are features or functions that are not enabled by default, quite frankly I have no bleeding idea why they did it this way, it seems so unintuitive, but here we are (if it's any consolation for anyone, this page is gone in 2.1). Click the power symbol to the right side of a feature row to turn that thingbob on. Which ones you want to turn on are entirely up to you; if you have SubAccounts installed, by the way, it will appear here, so you'll have to come here and turn on the master switch.
Personally, the calendar's not worth it. Advanced Profile Fields enables admins to add custom fields and turn off most of the default ones, so I'd recommend turning that on, even if you honestly have no need of it (it still has AIM and YIM in there, come on). Moderation, Administration, and User Logs keeps a running log of any moderation, admin, or user profile edit actions that happen. If you're paranoid, this is the master switch for you. Post Moderation works in conjunction with the Warning System; with both on, you can make it so a user on moderation due to warning accumulation must have their posts approved before they're made public. Post Moderation can be used by itself by setting up permissions and group or board controls appropriately. I wouldn't bother with paid subs, report generation, or search engine tracking, they're really not helpful for most RP forums.
Now we're going into Configuration => Features and Options => General. From here on out, it's all selectors, check boxes, and input fields. Most of this is pretty straight-forward, so I won't be talking about any of them in great detail, but we will touch on a couple that can be confusing. For instance, search engine friendly URLs. What's this do? It turns ?topic=1.0 into /topic,1.0.html. Personally, it looks gross, but I suppose it might make search engines like them better. On the other hand, you can do a lot better on the SEO front than that, but hey, you do you. You can also set meta keywords for search engines, but these are less important than they used to be. Further, depending on the keywords you use, you can hurt your rankings, not boost them.
Anyway, this is not a SEO guide. It's up to you if you use them, do some Google-fu and see if you feel it's important, but if you don't know what you're doing, I'd leave it blank.
Below that, we've got the time format, offset, and time-zone. Offset and time-zone are pretty obvious, though there's really never a reason to use offset in the ACP, offset is more of a member-specific setting, to "fix" your default board time-zone to match theirs, if it is off by over an hour. By default, it runs off server time. So if your server's time is off by several minutes, your board will be, too, and if you have to set the server time back a few minutes, nothing changes on your board until time "catches up" with itself. Who's online will stop updating until it does, for instance. Anyway, you may need to do some scrolling to find your time-zone, I believe it's all Africa first, and then the default time format. For some reason, to users, this is a drop-down selector that makes sense, but in the ACP, it's raw srftime. Lord. Why.
What's srftime? It's the little percent signs and letters that PHP uses to format time stamps. If you've never seen a time stamp before, it looks like this:
That says, August 6, 2018, 12:55 AM CDT.
No, it really does.
If you're curious, random aside, but time stamps in this format (PHP's time()) are based on a specific date and time, and then count the seconds that have occurred since then, to calculate the current time. It counts from the Unix Epoch (January 1, 1970, 00:00:00 GMT), when the manner of unix systems measuring time changed so that instead of having to set 0 (the epoch) to representing a recent time, it became possible to represent time with a 32-bit integer, increasing the time-span that could be stored to around 136 years. (I have no idea what the heck you just said-ese: computer nerds made computers capable of handling more numbers and time calculation got easier). From that time, the epoch was rounded down to the nearest decade, ending up with 1-1-1970, probably because it was a bit tidier than 1-1-1971. Sometime around 2106, we'll have to push the epoch value up, but by then, we may have made computers capable of handling even more numbers, so who knows.
Anyway, so PHP uses these seconds to figure out time and put it into a human-readable format. I won't get into the long of it here, but you can search for srftime on Google, and find a list of the keys that will produce the time format you want. If you want a really simple, short and sweet one, I've got:
Aug 6, 2018, 12:55 AM
%b %d, %Y, %I:%M %p
Beyond this, we've got track daily stats, what this does is it tracks daily new topics, posts, members, and, if you want it, page views (the number of pages that have been loaded for end-users in a day). You can turn on tracking page views if you want, but there's really nothing terribly useful in it.
Now, in the rest of features and options, it's pretty simple, with one note: under Layout, we've got Display time taken to create every page. I would not turn this on, but if you're curious what your SMF install's page loads actually look like in seconds, then there you go. In Signatures, it allows you to restrict how much one types into their signature, the maximum number of lines, max font size, enable or disable smileys in signatures and restrict how many there can be, max image count, and restrict signature image height and width. If you intend to use signatures, I'd definitely set these in accordance with your site's rules.
You should never have a reason to touch server settings, unless you need it temporarily off-line, need to update emails, or change your forum's displayed title. Beyond the General section, it gets dangerous. Don't mess with it unless you know what you're doing, you can break your board and have no idea what you did. Beyond this, everything's pretty straight-forward, or has a more detailed section below, or in another guide that's planned.
This sounds scary, but, it's not, it's fairly cut and dry. You can search the official SMF mod site for a mod that you like, and download it directly from SMF's servers, or you can just upload a package file. These are .zip or .tar.gz files that have installation information in them.
So how do modifications work? Modifications are package installations written in a combination of XML and PHP. The XML file tells the package parser what to do to the source files; ergo, find this, replace with this, or find that, add this above it. It's actually quite brilliant. The PHP files typically hold database alterations and additions in them, if there are any. More sophisticated package mods will typically have a read me, that displays at the top when doing a test installation (clicking 'install mod' will cause it to do a test parse of the package, to see if there are any errors, first, more on that in a second). Installing package mods is legitimately just a matter of clicking install, clicking install again, and letting it do its thing.
Test installations are performed first. This is to warn the admin user about potential mess ups and board breakage beforehand, so one can prepare for it, and take necessary measures. The next SMF guide I write will be about installing mods that error. Yes, there is a way to do it even if the package installer's test run errors on all the file edits. So, click install and have fun. It's really not as terrible as it sounds. If you feel better doing so, and you might, consider installing a test board and then run all your package installs on that so if you hopelessly break it, no big deal.
I will mention here, if you come across a blank white screen, and it gives 500 as the error, this is called an internal server error. There are many many reasons why you may see one of these, but if you've been messing around in the templates or installing or uninstalling things, you may see this (and probably will at some point). Breathe. Don't panic. If you have cPanel, somewhere in there is something called Error Logs; you'll want to poke into that and see if it's logging an error in there when the 500 pops up. What it says there will give you more expanded information on why it's doing a 500.
[Wed Sep 05 10:54:58.140527 2018] [php7:error] [pid 10357] [client 192.168.1.1:51001] PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to function acmGiantCharacterLoadTumble(), 0 passed in /var/www/html/smf21/Sources/Subs-Characters.php on line 664 and exactly 1 expected in /var/www/html/smf21/Sources/Subs-Characters.php:330
You'll be looking for something like this. (Yes, this caused a 500.) This is a much better idea of what happened, where it is, and how to fix it, and honestly you might be able to figure it out yourself (but don't worry, the Initiative is full of tech masters if you can't). I highly recommend, at least early on, when you are editing the files, templates, and installing mods, do one thing at a time. This way, it is much easier for you to figure out what went wrong where, because if you do a huge mess of edits and get a 500, and the error logs, for some reason, don't give you an error output, you're blind. You have no idea what you did. It gets very frustrating very fast trying to troubleshoot that way. Love yourself.
Yes, you will, at some point, be installing a mod or several. I promise you that. As I said above, SMF's power is in its modding community. There are dozens upon dozens of mods that do all kinds of things, and depending on your needs, and how you want your board to operate, you can find quite a few helpful things in the mod section of the SMF customisation site. I'd definitely recommend looking through it. Someday, you're gonna want a new feature or function SMF does not natively have; may as well make that day an early day, so you can break it without really being afraid of data loss.
Here's a big thing, by default, SMF's spam controls are… well, they're kind of lacking. You know, kind of, like how water's kind of wet. It's got some basic who gets to post where without seeing a verification system controls, and then under it, you can set password strength requirements (I wouldn't set them ridiculously high), then the verification image style to use, and then questions. I'll warn you now, chances are, you'll be fighting spam on SMF at some point, especially if you happen to be on a TLD (top-level domain, ergo a .com, .net, etc, without another period in there [rpginitiative.com is a TLD; boardname.rpginitiative.com is a subdomain]). Bots find TLDs very fast. Very fast. You might be able to hide on a /site type URL for a while but eventually they'll get you, too.
The good news is, there are ways of making it better, and SMF 2.1 paved the future in gold by building reCAPTCHA into it by default. There will be another, more in-depth guide on fighting spam and the ways I've found to do it that work on 2.0, and continue to hold up, so stay tuned if you need help with that.
Member Groups and Permissions
Member groups are fairly standard on SMF. It's not really easy to mess these up. Groups actually define permission groups, as well; ergo, groups can inherit permissions from each other, or standalone and be assigned permissions unique to them. This is very cool. One thing I want to say is, member group icons ("pips") must be uploaded to the images folder of the themes (yes, all of the themes you use), and then called by image name and extension. Ergo, if you upload a pip called star.gif, you need to type in star.gif.
Permissions can be set per group, per board, and then we have something called a permission profile. This is a specific set of permission arrangements that can be assigned to boards. I typically make one called Guest Friendly, for instance, and this profile grants guests posting ability. Slap it on the boards I want to have guest posting enabled in, and I'm golden.
SMF has the ability to assign multiple member groups to a single account (AND you can make them all display, with some file tweaking). Further, you can also set it up so that your members can sort themselves into their own group(s). The latter is extremely helpful on sites where there is no approval process, as players can just sort their own characters out of the box, if you're using SubAccounts (on the character mod, this takes care of itself when creating a character). The multiple groups thing for users can be utilised to give user accounts access to things, as well, so for instance, you can have a beta testing and world-building group that has access to a special board, but additional groups don't show by default, so other users can be left unaware of this special control group. I use it a lot to set myself as a player, and then give myself root administrator access anyway; I look like a normal player, but I still get stuff done. With SubAccounts, you can simplify even the most complex of character grouping arrangements into just assigning more than one group.
(Guest: -asks a question-
Me in Player Colour: -answers, apparently with something they don't like-
Guest: I think I'd rather talk to the admin.
Me, suddenly in Admin Colour: -cackles maniacally- Baby, I AM the
I'm joking. Sorta. It's amazing how some people talk to other members when they think the admin isn't around...)
Installing a Theme
This is pretty simple, but just in case anyone doesn't know, first, you'll go into Configuration => Themes and Layout. By default, clicking that takes you to Manage and Install, that's where we want to be. Scroll all the way down, and you'll find a header labelled Install a New Theme. Theme creators package their themes, and they will install themselves, so if you have one of these, just click Choose File, select the archive package for the theme, and click install.
To create a theme from a directory, just type in the directory folder, and then to make a blank copy of Curve, the default theme, type a name in the last field. If you're doing the latter, which is how we make new themes on SMF and you probably will do this someday, don't use spaces, or fancy characters, in the name. Whatever you type here is what the folder in the file system will be called for the new theme. File directories just really don't like those, in short. Now, if your server runs on Japanese, to be fair, it may accept Hiragana, but most servers aren't about that life.
One major drawback of SMF is that themes, good themes, are hard to come by. The good ones that exist are often very generic, and template alterations in premade SMF themes available on their site are very rare. They are also quite difficult to make, if you don't know what you're doing, as they are heavily dependent on PHP, and you can ruin your own life easily when you're getting started with it. Bonus points to, if you're running 2.1, lol that thing's got no themes. Yes, I will eventually get around to the theme guide for SMF, promise. Still doing it! I will say here, it will not be a full, how to do everything you need to know how to do tutorial, it will expect its reader to be able to use HTML, CSS, and some basic PHP, so if you haven't already and are waiting on it, read the PHP Fundamentals guides. You'll be glad you did when we all get around to the SMF theme guides, because it will assume you have some idea of what you're doing.
SMF 2.1 also has a known bug where, sometimes, it won't install themes from a .zip archive. You'll have to upload it into a directory in your file manager (preferably the Themes folder), and install it by directory. Kind of rude, but easy enough to work around for now. For some reason, it was fixed, at one point, and then someone rolled it back. No clue why, but here we are. Might've been an accident to be fair.
If you poke around the SMF ACP a bit, you'll find a languages section. Here, you can search up, and download/install, language packs for practically every language in the world. Practically. If you run a site in another language, or you, or some of your members, may find navigating the forum easier in their native, non-English language, you can download and install language packs for any of the languages that you or they may speak. This is, and is not, useful for role-play forums, so just know it's a thing that's there.
I will tell you, there's a typo in the Vietnamese package in the admin panel language file, and many of the languages don't work so hot with UTF-8. Not sure why, but, here we are. If you're not sure which one to use, you could always install both. To uninstall a language, you need to find all the language files in the languages folder for it, and delete those, then remove all the language-related images (usually in a folder of their own in the images folder).
If you are fluent in another language, mod writers almost always are interested in fluent speakers translating their mod's language files to another language, so don't be afraid to contribute these if you're interested! So if you find a mod you want to support, see if they need translations for your language. It's an easy way of helping modders out (and we love our modders).
Adding Categories and Boards
This is pretty easy, but! To add new categories and boards, visit the Forum => Boards section. Then, click Create New Category, to make a new category, or click the button titled Add Board under a category's board listing.
Categories have a position, a name, and whether or not members can collapse that category. In SMF 2.1, categories also have a description, which show beneath their name. New boards have a category, position, name, description (and it does accept HTML!), a permission profile to use, groups that can see the board, forum moderators, redirect options, whether to count posts in it, and the theme to use for the board. You can install a mod that will give you control over the board's sort method (what order it displays threads in, and what key it uses to order).
If you do not tick the box for a member group in the allowed groups list, that board will not show to users sorted into that group. Of course, post groups can be ignored, unless you want to restrict a board's access by post count (that's a thing you can do). When adding moderators, it uses a script that will look up a username as you type it, and then you can click from the drop-down; if this script does not work (a lot of the time, it will break on a theme other than the default Curve or Core), you'll need to enter a comma-separated list, no spaces.
Category and board controls are pretty intuitive. They also separate themselves visually, quite clearly, so you can easily pick out what links are for what board.
Quick note on how group access works for boards: say you have Board 1, and then as a child of Board 1 is Board 2. Board 2 has access ticked for Group 1, but Board 1 does not. If someone in Group 1 manages to get Board 2's link, they can still see it, but it will not show on index under Board 1 because Board 1 won't show. This means you can sort of make hidden boards. Sort of.
I'm going to be blunt; SMF 2.0's default handling of avatars is the dumbest thing I've ever seen in my life. In short, SMF uploads avatars as attachments, and then links it to a member ID instead of a topic or message ID. Then, it takes the image the user uploaded, encodes it with an image hash, and saves it in the filesystem as just a file. No extension, just a file with the image hash as its name. Only SMF 2.0's stupid avatar system can do anything with it, and people with more patience than I have. It then displays the avatar with an attachment download link instead of an image link.
Now, I will say, if you really don't care about that (and it may deter hotlinking, I can't remember off-hand, hotlinking is one displaying the image with your link on a site that is not yours), you can leave it as-is and it'll work just fine. Alternatively, you can set a custom avatar location. Forum => Attachments and Avatars => Avatar Settings. Scroll all the way down, and find Upload avatars to… - change this to specific directory, and then type in a directory location, and what URL that would be accessed on. If it comes up red, you need to either create that directory in the filesystem, or, adjust the permissions so that it is writable.
What this does, is, it makes SMF handle avatar images… like actual images. Ergo, it will rename the file avatar_memberidnumberhere_randomhashhere.whateverextension, and then move it to the directory you indicate it should, and not mess with it beyond that. So in your folder is an actual image. Yep, yep, much better, if you intend to do anything with avatars, such as display them somewhere they don't normally display, and don't want to play "let's decrypt image hashes!" I know I hate that game. Fortunately, while SMF 2.1 has the functionality for image hashing, it doesn't do it by default. Thank the stars for that. (Oh, 2.1 also has support for Gravatars!)
Notice: I should never see someone pulling the entire $memberContext array for one thing, like avatars. It is not a good idea. There are many reasons why not, but we'll start at security concerns, because you're pulling all of your members' information right there, and end with that's a huge array loading and hitting your server's RAM/CPU every time you load it. Every single time. Arrays are resource hogs. Because they load a huge number of strings at once, the fewer strings you're pulling, the better. If you don't need an array that big, don't pull an array that big. If you need a thing somewhere and don't know how to get it there, ask me. I will gladly walk you through doing it. Gladly. Seriously.
Alright, there are a few things in the Maintenance drop-down I want to look at really quick.
First, let's get into Maintenance => Forum Maintenance => Routine. Here, we have some controllers for checking for file updates, finding and repairing errors, recounting totals and stats, and emptying logs and the file cache. What's all this? You can safely ignore the first one; this just checks the version of the source files that you have against the ones on SMF's official servers, and the thing here is that you're probably always going to have a few older files. That's just sort of the nature of SMF's updates. If the board works, oh well.
Finding and repairing errors is a good idea to do occasionally, especially right after an account or thread clean-out. If you delete things, it breaks some database links between thing a and thing b, and it doesn't break anything on the board, not visibly, but it's still good practice to prevent the database from getting all weird, or storing data it doesn't need for members that don't exist anymore. Recounting the totals and stats will recount the board topics, replies, PMs, members, and so on, so if your board counts or stats get off, you can usually fix them with running this. Emptying the unimportant logs is really kind of obvious, as is emptying the file cache. The latter causes the board cache to be dropped; SMF will cache certain files, as well as member data and other Really Memory Intensive things. If you do something major to your member numbers or suchlike, it's not a bad idea to clear the file cache (ergo, if you go on a mass delete spree, your stuff's probably all off, clear cache and recount).
From here, let's go into Forum Maintenance => Database. Here, we can optimise all our database tables (clears overhead and makes the table smaller, and run smoother), save a database backup, and convert HTML entities into UTF-8. This does what it sounds like; instead of the database storing α, it will store instead α. This makes searching and sorting cleaner, and also reduces storage size in the database. Not a bad idea if you use a lot of fancy characters (and funny enough, it stores punctuation that way, because that's brilliant).
Now let's go into Forum Maintenance => Members. This section has Reattribute User Posts, and what this does is it gives post ownership to a member, of guest posts made by a certain email address, or username. This is great for moving forum posts over manually, because you can name characters unique names, like nicknames, and then reattribute them, and boom, posted by them, even if that account doesn't belong to you. I've made use of this for exactly that purpose many times. You can also assign Simple Machines' introduction post to you instead of deleting it, so you can have topic ID 1.
Finally, there's a remove inactive members option. This deletes all accounts that have not <insert thing they haven't done> in x days, in certain membergroups. Useful for mass inactivity purges. Root administrators (group ID #1) should be immune to these purges.
Board and Moderator Logs
Now, remember up there when we were doing the Core Features thingabob, and I said something about turning logs on? Well, if we've got them on, they log: administration actions; moderation actions; profile edits. You can see two of the three in the ACP, by going to Maintenance => Logs => Administration Log or Moderation Log.
Administration logs will log key actions in the ACP by varying different members that have done it. These logs will display: adding, editing, and deleting boards and categories; adding, editing, and deleting member groups; pre-registering or deleting a member; installing and uninstalling package mods. It will also log IP address, so if, somehow, someone else gained access to your ACP that should not have access to it, you can see this person's IP address. But, quite frankly, if they have access to your ACP, the damage is done, you're screwed, sayonara.
Now, we can also access profile edit logs! If you're super duper paranoid about it, and you have character biographies in profile, you can go to someone's profile, hover over Profile Info and click Track => Profile Edits. From here, you can see the changes to every profile field in the profile, what it was before, what it was after, when it was changed, and who by.
One more thing: your error logs. These are found in Maintenance => Logs => Error Logs. You can turn these off! Don't.
These logs will pull any errors that a user generates, or that PHP or MySQL/MariaDB output that are important for you to know. Failed logins and ACP attempts are in here, as well as anything that's problematic, but not fatal. When something doesn't work, the first place to look is here. It'll give you an idea of what happened, what line it was, and if you click on the file name, it'll actually highlight the line it's talking about for you. Troubleshooting basic errors is kind of a fact of SMF life. Become one with the error logs. Be the error logs. Oooohmmmm...
Joking aside, don't ignore errors in here just because you don't know how to fix them. Bring them to us. We fixes them.
Modifications to Consider
This is really kind of just a list-dump of modifications that I find myself, and many other SMF users, coming back to time and time again. Some could consider these something of a must-haves list for plugins, but really, it's all about what you're looking for and how you want your board to operate. Search around the SMF mod site a bit, you'll probably find something for what you want. If not, post on the board here, I might be able to do it.
Listen, hey, hey listen, because I'm gonna say this once and never say it again anywhere else, listen: the Battle Suite started with a series of flat-file random generators that I said I couldn't do. Everyone else told me I couldn't make it, either. I have a very long track record of saying I can't, and then proving myself wrong. Even if it's the most harebrained, inane, off-the-wall idea you can think of, ask on the Initiative if it's possible, because it may very well be, and it may even be easy. If you can't find a mod for it, ask. I may know where one is, or be able to make one relatively easily, or be able to tell you how to do it yourself, depending on what it is.
I will also say this: the general SMF community has a long track record of being really rude to its user-base, particularly role-players because they don't understand what role-playing is about and tend to be vicious toward that which they don't understand. They don't tend to be terribly helpful even in pointing people in the right direction if you've got no idea what you're doing, and I've had mod writers be unable to make alterations to their own mods before, too. So, even if you need help with a mod for SMF, I will help you. Please come to me and not them; they are not nice.
BBCode With Style: Do you like doHTML? Yeah? This is the mod for you. BBCode With Style expands the base BBCode system to include div, span, and adds extra parameters to img, table, and td, so that you can more closely mimic HTML coding. This is the shizzie. I've, many, many times before, converted an HTML/CSS code into a BBCode with this mod.
Bookmarks: So what this does is, it logs threads as bookmarks under a user account. It's useful, as a semi-automatic thread tracker, but unless you do expansions, they're just kinda there, and moot if you use the character mod (on subaccounts it can make a decent, basic list of threads a character's been in for you).
Custom BBCode: Take the "What??" out of adding your own BBCodes. Yeah, you can use this to make like a YouTube BBCode no problem. You don't need all those stupid little mods that add in just that ONE BBCode, just add them all with this. It works in theory like Jcink's BBCode manager, but it's a bit more powerful.
Custom Board Sort: This mod adds a selector in board creation and editing, where you can decide how threads are ordered in a board by default. Want it alphabetised by subject? You can do that.
Menu Editor Lite: We all want to edit the navigation bar. The problem is, that navigation bar is actually kind of a pain to edit on your own. This handy mod creates a visual click and type and click affair of deleting, rearranging, editing, and adding, buttons on the main navigation menu. It doesn't recode it, sadly, it just helps you do what you want with it.
SimpleColorizer: This is an easy, painless hook install that colours profile links no matter where they are or what they're named. If it links to a profile, it's coloured via member-group of the account it links to. Everywhere. I mean everywhere.
SimplePortal or TinyPortal: Look, portals are frand. You can make your own custom landing splash page, or integrate it and easily add sidebar and top-bar blocks to your board, create custom pages (even PHP ones, which is how we do automatic lists on SMF, like set it and forget it face claim lists, it's fab). SimplePortal comes with a shoutbox, I don't remember off-hand if TinyPortal does, but that'll save you cbox costs. SimplePortal is the most aesthetically pleasing and interface-logical one, but TinyPortal works on 2.1.
@mention Members: … this is really pretty explanatory, isn't it. Unfortunately, you'll have to mod in an alert system for it, or no one will ever see their @s. This may have changed. It may also operate on emails, I have no idea, gbh. (My server's on a dynamic IP and emails coming from it are automatically rejected before it even hits the spam folders, so I don't know if it does.)
Users Online Today: Why this isn't a default feature, I don't know, but whatever.
Drafts: Does what it sounds like! Allows users to save posts as drafts, and come back to them later.
Order Custom Profile Fields: Drag, drop, rearrange your profile fields, into a sensible, logical order, for ease of creating profile apps/bios.
ReCAPTCHA for SMF: Get it. Please. Just get it. SMF 2.0's anti-spam controls are out of date and don't work reliably anymore. reCAPTCHA requires a set of keys, but they're free to get.
SMF Character Manager: You can find and download this here on the Initiative, written by me. This is an alternative to SlammedDime's SubAccount mod, more streamlined for RPG sites. Unlike SA, this mod is actively supported and will be updated in future. It's been rebranded to SMF Character Manager; 2.0 will be the last version that guaranteed works on SMF 2.0, and also the last fully featured free version. (There will still be a free version, you just won't have certain functionalities, like the status streams will be taken out of the free one.) Character Manager 2.0 comes with character journals and the ability to create auto claim lists out of any bio field in the system, no code necessary.
SMFPacks Advanced Editor: Replaces the old, clunky, doesn't-even-work-anymore WYSIWYG that shipped with SMF 2.0 with SCEditor, which is grand. It is paid though. (Bet you had no idea SMF even HAD a WYSIWYG, huh. Yeah, it's okay, it took me about five years to find it.) On 2.1, SCEditor is built-in.
ENotify: Ajax-powered push notifications for quite a few things, but last I checked it was a wee buggy. It's been updated since, it may be less so now.
Member Awards: I actually have no idea if anyone has this on the internet anymore, I do have it though, if anyone wants it. Easy peasy member awards, many of which can be automatically awarded by the system. Things like post count and registration anniversaries can be auto.
Notes About SMF 2.1:
This goes against everything in me, but, I'm gonna be honest, if you're feeling brave, run 2.1, yes it's a beta but run it anyway. Why? Its core is far more robust than 2.0's, Curve2, 2.1's default theme, is mobile responsive out of the box, it has alerts built in, @mentioning, post likes, SCEditor, drafts and autosave of drafts (and both bloody work), reCAPTCHA is built in, a lot of little things in the admin-side controls are improved on, it's just better. It also supports IPv6, and runs on PHP 7.2, and … I'm gonna be straight with you. PHP 5.6 is about end-of-life.
This means running PHP 5.6 on your server will become a stupid idea because PHP will not be releasing security patches. Eventually, potentially quite quickly, PHP 5.6 will become full of security holes, and make your server vulnerable. Likewise, PHP 7.1, the last version SMF 2.0 runs on cleanly, will reach end-of-life in another year and some change. With the progress pace that the SMF development team have been making with 2.1, it's not releasing anytime soon. Start using it. Get accustomed to it. Because it is SMF 2.x's future whether they release it into RC tomorrow or in another year. The only problem I've had on SMF 2.1 is guest-posting does not activate verification, the setting for that is messed up, so you'll need either a log in for ads, to set a min-post count for verification to trigger, or just to forego ads entirely, and there are some theme quirks (sometimes, installing through package does not work, you have to upload it into a folder in /Themes manually and install through a folder in the directory in ACP, and the board avatar on index feature in themes does not work out of the box). I'm here. Okay? I'm here, ask me for help, I will help you, for the love of all that's good in the world, get your server off PHP 5, run PHP 7, and you'll love SMF 2.1, I promise, give it a go. I have reached the stage where 2.1 has seriously made me hate 2.0. I hate working with 2.0 now. I really do. After ten years of 2.0 I am so ready for 2.1.
Hopefully, I didn't scare anyone. Haha! As I said, SMF can be greatly rewarding if you learn to speak its language, and 2.1 is a respectable improvement on 2.0, at least, it's not like "Why did they even bother because nothing is better," it's just not quite the giant leap forward that many were expecting it to be, considering how long it's been in development. All of SMF's development team are volunteers, and make sure to take their time and get it right. You know what they say, "Cheap, fast, good: you can have cheap and fast, but it won't be good; you can have fast and good, but it won't be cheap; you can have good and cheap, but it won't be fast." SMF is like the embodiment of that. If it makes anyone feel better, they are still actively making updates and changes to 2.1 Beta 4, I've been watching it on GitHub. It is happening. I've also heard rumour that 2.1 Beta 4 may end up the RC version, and we're finally at the point we're talking RC at all.
Anyway! I do have a long, long list of focused guides and tutorials specific to SMF that I will be posting, so stay tuned for more SMF guide stuff. Till next time! (Are y'all getting tired of me yet?)