I've only played the demo of this, and I wrote this before the full version came out, but I thought I'd paste this in here from my LJ for those still playing with the demo version:
The biggest annoyance was being forced to sit through numerous un-bypassable intro screens to advertise the game and company logos.
LATER LOGOS.
Edit \Battlefield 2 Demo\mods\bf2\init.con and rem out every line. It should look something like:
rem ** gameLogic hasn't been initialized yet **
rem *** These should be noops in server & editor
rem bf2Engine.playMovie Movies\EA.bik 1
rem bf2Engine.playMovie Movies\dice.bik 1
rem bf2Engine.playMovie Movies\nvidia_logo.bik 1
rem bf2Engine.playMovie Movies\demo_demolegaltext.bik 1
rem bf2Engine.playMovie Movies\demo_bf2legal.bik 1
rem bf2Engine.playMovie Movies\demo_locknload.bik 1
rem bf2Engine.playMovie Movies\demo_bf2release.bik 1
Now when you start the game, it goes straight to the login screen.
The other dislike of the demo was the 10 minute time limit.
LATER TIME LIMIT.
Edit \Battlefield 2 Demo\mods\bf2\python\game\gamemodes\gpm_cq.py, and change:
host.registerHandler('TimeLimitReached', onTimeLimitReached, 1)
to
#host.registerHandler('TimeLimitReached', onTimeLimitReached, 1)
Now when the time limit ends, the game just keeps on going.
Notice the .py file extension on that'n. A lot of this game uses Python code, I found. I guess they did it to more easily convert it for making the Linux server. But because of that, you can edit all sorts of crap. I hear you can also add more weapons and play on the larger version of the single-player map, but I haint found anything in the codes yet to do it.
If there were only a way to make the AI less retarded and not drive over you, that'd be great!