diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/engine/server/server.cpp | 13 | ||||
| -rw-r--r-- | src/game/server/gamecontext.cpp | 2 | ||||
| -rw-r--r-- | src/game/server/gamecontroller.cpp | 7 | ||||
| -rw-r--r-- | src/game/server/player.cpp | 1 | ||||
| -rw-r--r-- | src/game/version.h | 2 |
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 |