There is a method for doing this on a listen server that GameSpy describes by creating a .cfg file, and then exec'ing that config file from the console in the full game. That article also has a sample .cfg that you can edit if you want different options than the ones they used.
Config files must be placed in baseq3, which is a subdirectory of the main Quake 3 install directory. There will likely be other .cfg files in here. You can name them however you want, you just have to remember that name when exec'ing them from the console.
The GameSpy tutorial uses console commands to add bots to the game, but I believe you could just as easily copy those console commands to a cfg file as well. If you want to get even fancier, you can run the Quake 3 .exe with command line options to automatically load your configuration at startup. (ie, quake3 +exec my_listen_server.cfg)
However, not all of these things may be fully supported in the "client" version of Quake 3. You may want to consider setting up a dedicated server console, even if you're just going to be connecting to it from the same machine. The dedicated server is designed more towards being scripted and automated, and using it might be a better choice if you're getting deep into config files and command line options. Whether or not it makes sense to invest the additional effort depends on what your final goal with the game is.