summaryrefslogtreecommitdiff
path: root/src/servercommand.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/servercommand.cpp')
-rw-r--r--src/servercommand.cpp23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/servercommand.cpp b/src/servercommand.cpp
index a09003960..156598940 100644
--- a/src/servercommand.cpp
+++ b/src/servercommand.cpp
@@ -250,20 +250,19 @@ void cmd_banunban(std::wostringstream &os, ServerCommandContext *ctx)
os<<L"-!- No such player";
return;
}
-
- con::Peer *peer = ctx->server->getPeerNoEx(player->peer_id);
- if(peer == NULL)
- {
+
+ try{
+ Address address = ctx->server->getPeerAddress(player->peer_id);
+ std::string ip_string = address.serializeString();
+ ctx->server->setIpBanned(ip_string, player->getName());
+ os<<L"-!- Banned "<<narrow_to_wide(ip_string)<<L"|"
+ <<narrow_to_wide(player->getName());
+
+ actionstream<<ctx->player->getName()<<" bans "
+ <<player->getName()<<" / "<<ip_string<<std::endl;
+ } catch(con::PeerNotFoundException){
dstream<<__FUNCTION_NAME<<": peer was not found"<<std::endl;
- return;
}
- std::string ip_string = peer->address.serializeString();
- ctx->server->setIpBanned(ip_string, player->getName());
- os<<L"-!- Banned "<<narrow_to_wide(ip_string)<<L"|"
- <<narrow_to_wide(player->getName());
-
- actionstream<<ctx->player->getName()<<" bans "
- <<player->getName()<<" / "<<ip_string<<std::endl;
}
else
{