If we're going to add surrendering to the game, it should be kept as simple and easy as possible.
1. The only way to switch teams during a game is by surrendering.
2. To surrender, press the "Surrender" key. The game will then ask you: "Do you want to surrender? (Y/N)" This helps prevent accidental surrenders. Press "N," and you continue play as normal.
3. Press "Y," and you drop all weapons and raise your hands. You have now surrendered. You can still move around, take cover, etc.
4. To accept your surrender, an enemy must kill you. If an enemy kills you, you respawn as an enemy soldier. The enemy gets points for killing you as normal. This saves having to add an extra key for accepting surrenders, and adds a touch of Eastern-Front ruthlessness to the proceedings.
5. If you surrender, however, your own team no longer loses points for TK'ing you: instead, if they kill you, they score a point, as if they had killed an enemy soldier. But even if they kill you, you respawn as a member of the enemy team. Your former teammate just gets a point, and the satisfaction of executing a cowardly traitor to the mother-/fatherland. Not one step backward!
6. If you have surrendered, you can press the "Surrender" key again, and the game will ask you: "Do you want to resume fighting? (Y/N)" If you press N, you keep your hands up. If you press Y, you rejoin your own team, drop your hands, and can pick up a weapon if you can find one.
This way, surrendering just adds a bit of color to the game, and by having players shooting or bayoneting unarmed men with their hands up, it accentuates the true awfulness of the
vernichtungskrieg on the Eastern Front.
The only possible abuse I can foresee is if a player surrenders when there are no enemy around. His teammates might then refuse to kill him, to keep him from going over to the enemy. But even then, I don't see how they could stop him from running off to find the nearest enemy, and eventually switching sides.