about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/engine/server/server.cpp13
-rw-r--r--src/game/server/gamecontext.cpp2
-rw-r--r--src/game/server/gamecontroller.cpp7
-rw-r--r--src/game/server/player.cpp1
-rw-r--r--src/game/version.h2
5 files changed, 16 insertions, 9 deletions
diff --git a/src/engine/server/server.cpp b/src/engine/server/server.cpp
index 96071ceb..620599c8 100644
--- a/src/engine/server/server.cpp
+++ b/src/engine/server/server.cpp
@@ -1078,6 +1078,7 @@ int CServer::Run()
 					m_CurrentGameTick = 0;
 					Kernel()->ReregisterInterface(GameServer());
 					GameServer()->OnInit();
+					UpdateServerInfo();
 				}
 				else
 				{
@@ -1209,10 +1210,20 @@ void CServer::ConBan(IConsole::IResult *pResult, void *pUser)
 void CServer::ConUnban(IConsole::IResult *pResult, void *pUser)
 {
 	NETADDR Addr;
+	CServer *pServer = (CServer *)pUser;
 	const char *pStr = pResult->GetString(0);
 	
 	if(net_addr_from_str(&Addr, pStr) == 0)
-		((CServer *)pUser)->BanRemove(Addr);
+		pServer->BanRemove(Addr);
+	else if(StrAllnum(pStr))
+	{
+		int BanIndex = str_toint(pStr);
+		CNetServer::CBanInfo Info;
+		if(BanIndex < 0 || !pServer->m_NetServer.BanGet(BanIndex, &Info))
+			dbg_msg("server", "invalid ban index");
+		else
+			pServer->BanRemove(Info.m_Addr);
+	}
 	else
 		dbg_msg("server", "invalid network address");
 }
diff --git a/src/game/server/gamecontext.cpp b/src/game/server/gamecontext.cpp
index c04dd945..0c3c1ef5 100644
--- a/src/game/server/gamecontext.cpp
+++ b/src/game/server/gamecontext.cpp
@@ -984,6 +984,8 @@ void CGameContext::OnInit(/*class IKernel *pKernel*/)
 	else
 		m_pController = new CGameControllerDM(this);
 
+	Server()->SetBrowseInfo(m_pController->m_pGameType, -1);
+
 	// setup core world
 	//for(int i = 0; i < MAX_CLIENTS; i++)
 	//	game.players[i].core.world = &game.world.core;
diff --git a/src/game/server/gamecontroller.cpp b/src/game/server/gamecontroller.cpp
index 66d84519..5b7051d3 100644
--- a/src/game/server/gamecontroller.cpp
+++ b/src/game/server/gamecontroller.cpp
@@ -435,13 +435,8 @@ void IGameController::Tick()
 					}
 				}
 				
-				// move the player to other team without losing his score
-				// TODO: change in player::set_team needed: player won't lose score on team-change
-				int ScoreBefore = pP->m_Score;
-				int ScoreStartTickBefore = pP->m_ScoreStartTick;
+				// move the player to the other team
 				pP->SetTeam(M^1);
-				pP->m_Score = ScoreBefore;
-				pP->m_ScoreStartTick = ScoreStartTickBefore;
 				
 				pP->Respawn();
 				pP->m_ForceBalanced = true;
diff --git a/src/game/server/player.cpp b/src/game/server/player.cpp
index c295b5d5..2d5d244f 100644
--- a/src/game/server/player.cpp
+++ b/src/game/server/player.cpp
@@ -158,7 +158,6 @@ void CPlayer::SetTeam(int Team)
 	KillCharacter();
 
 	m_Team = Team;
-	//m_ScoreStartTick = Server()->Tick();
 	// we got to wait 0.5 secs before respawning
 	m_RespawnTick = Server()->Tick()+Server()->TickSpeed()/2;
 	dbg_msg("game", "team_join player='%d:%s' m_Team=%d", m_ClientID, Server()->ClientName(m_ClientID), m_Team);
diff --git a/src/game/version.h b/src/game/version.h
index 6505bf56..534a5dd2 100644
--- a/src/game/version.h
+++ b/src/game/version.h
@@ -1,6 +1,6 @@
 #ifndef GAME_VERSION_H
 #define GAME_VERSION_H
 #include "generated/nethash.c"
-#define GAME_VERSION "trunk"
+#define GAME_VERSION "0.5 trunk"
 #define GAME_NETVERSION "0.5 " GAME_NETVERSION_HASH
 #endif