GoldenEye: Source fully supports custom game modes, and it's easy to add your own, too!
Game modes are located in
python/ges/GamePlay/. After placing a game mode file there, it can be loaded using the command
ge_gameplay <gameplay_name>. To add the game mode to your gameplay cycle, see server_map_script_files.
For information on creating your own game modes, see Custom Python Gameplay.