1. It’s not about winning against the players. This is #1. Too many GMs become adversarial towards the players. Always remember it’s about crafting a good story the players can immerse themselves in.
2. Fear of Death. The players need to understand failure has consequences. Don’t crush the players with insurmountable odds, but also don’t give them the win if they act haphazardly or foolishly. It’s important to make victory meaningful for the PCs, but don’t make it too difficult or the PCs will just get frustrated and give up. Finding the balance between trivial content and too difficult is key. If you err, err on the side of making it a little easier than you think it should be, because you would be surprised at how easily (and quickly) the players can fuck even the simple things up.
3. Prepare, prepare, prepare. The best story in the world doesn’t mean shit if you don’t know the rules or can’t run the session because you don’t know what’s behind the dungeon door until the players open it. It sucks when a player opens the door and everyone has to sit around waiting for the GM to figure out what the hell is in the room because this is the first time he has read the material.
4. Come up with lists of random names ahead of time. Some player’s need to know the name of every fucking merchant and inn owner they come across. If the GM has a list of ready names to pull from for unexpected name requests it usually impresses the characters. That way, they never know if the guy behind the bar is just a filler NPC or someone vital to the story.
5. Use an initiative tracker-- a spreadsheet that lets you not only track initiative order but also combat conditions (fear, stun, blind). Players lose confidence in a GM that can’t keep track of the initiative order.
6. The players have to be absolutely certain that you are fair and impartial. No one wants to play a campaign with a GM they feel is bending the rules or fudging die rolls to get the story to go the way he wants. That said, if you need something to happen to prevent the story from collapsing, make it happen regardless of rolls or rules. This should be pretty rare if you have constructed the campaign properly, but it happens (just never let your players know you did it).
7. Time limits can be fun tools to put pressure on the PCs. A lot of players will take a year and a half to go through a dungeon if you let them. Pressure adds to the fun, but too much pressure detracts from it. So maybe the world doesn’t end if the players don’t find random_religious_idle_001 in 3 days, but maybe something else undesireable happens.
8. Multiple win conditions. I’ve been using this one a lot. Instead of making a campaign simply win or lose, give the PCs multiple win goals.
9. Know what happens if the PCs fail. This one is really important. Avoid situations where failure means utter devastation, because then you will feel compelled to help the PCs succeed-- and they will be able to tell, which will cheapen the experience.
10. Don’t put the campaign too much on rails. The PCs want to know they are in a sandbox with a story. They want to write their own script and they don’t want to feel like they are simply watching a completely predetermined story unfold.
11. For world building, start small. It’s better to have a REALLY fleshed out small area, like a village or city and the immediately surrounding lands than to have a large amount of space that you only have a vague idea about.
12. Create a world that lives and breaths regardless of the PCs. Players like a sense that the story didn’t begin just because the they walked into the campaign and that the story will go on even if they all die. Avoid the hero onus. What do I mean? Players shouldn’t be “heroes” just for showing up.