Ok thought I had this resolved, and its better but now it seems to have happened again....and cant understand why.
What always happened was when you first connect, the system places you in observer, and displays motd...like I coded it to be. Now it will do this, but if you join the game and leave, then reconnect, it seems to be remembering all the .floats like the admin level, team, and weather or not motd was displayed etc, as if you were still that client that just disconnected. I thought setnewparms() is called by the engine when you connect new? I thought maybe its just a bug in that slot, but if I connect with another instance of dp-quake it appears all the slots are set to these
same parms when you connect. When you restart the engine new, it will work normally as far as I can tell - strange.
I fixed the trouble by adding a new assignment to a parm in the SetNewParms () area. I guess when you change one thing, it effects other things.
Understanding SetNewParms, SetChangeParms and DecodeLevelParms , have been more trouble for me than I first thought.