When I say mod, I mean hard-coded changes to the server. Meaning you popped open a .c or .h file and made changes.
Anything as far as online content is called building usually, or OLC.
It's also a good thing to comment changes you *do* make. For example, I group all my code changes into a mudlib called 'NeoCode', currently building version 0.06a If I make a modification, let it be bugfix or addition, I always have something like this:
/* NeoCode 0.06a -- BugFix by Xorith */
I change the version depending on what my working version is and I usually describe a bit more if possible or worth while.
This saved me once when a patch went very wrong and I nearly lost my source. I just did: grep 'NeoCode' *.c > neocode_c, and grep 'NeoCode' *.h > neocode_h. This allowed me to isolate the changes I made and quickly paste them into a freshly downloaded copy of AFKMud
I also make a strong effort of putting any *major* updates into a seperate file, namely neocode.c or neocode.h. This makes patching easier since the files are still *somewhat* the same. If you do this, you should always pay attention to what's added with a patch. If you copied a function from the main source and modified it for whatever reason, but there was a bug fixed... You might've put that new function into your mudlib.c file. The bug might still be there since you just modded the function, thus the bug never gets patched.
Hope this gives some ideas! It's nearly impossible to truely seperate mods from base, but the more you can do it the easier patching is.