Skip to content

Commit be10c08

Browse files
authoredSep 30, 2017
Make Player::peer_id server-side only and add getters and setters (#6478)
* Make Player::peer_id server-side only and add getters and setters Player::peer_id has no sense client side, move it to server, make it private and add setter and getter Also add some PEER_ID_INEXISTENT instead of harcoded 0
1 parent f729b5d commit be10c08

File tree

8 files changed

+64
-73
lines changed

8 files changed

+64
-73
lines changed
 

Diff for: ‎src/client.cpp

+2-19
Original file line numberDiff line numberDiff line change
@@ -1190,7 +1190,7 @@ void Client::sendReady()
11901190
void Client::sendPlayerPos()
11911191
{
11921192
LocalPlayer *myplayer = m_env.getLocalPlayer();
1193-
if(myplayer == NULL)
1193+
if (!myplayer)
11941194
return;
11951195

11961196
ClientMap &map = m_env.getClientMap();
@@ -1216,16 +1216,6 @@ void Client::sendPlayerPos()
12161216
myplayer->last_camera_fov = camera_fov;
12171217
myplayer->last_wanted_range = wanted_range;
12181218

1219-
//infostream << "Sending Player Position information" << std::endl;
1220-
1221-
session_t our_peer_id = m_con->GetPeerID();
1222-
1223-
// Set peer id if not set already
1224-
if(myplayer->peer_id == PEER_ID_INEXISTENT)
1225-
myplayer->peer_id = our_peer_id;
1226-
1227-
assert(myplayer->peer_id == our_peer_id);
1228-
12291219
NetworkPacket pkt(TOSERVER_PLAYERPOS, 12 + 12 + 4 + 4 + 4 + 1 + 1);
12301220

12311221
writePlayerPos(myplayer, &map, &pkt);
@@ -1236,16 +1226,9 @@ void Client::sendPlayerPos()
12361226
void Client::sendPlayerItem(u16 item)
12371227
{
12381228
LocalPlayer *myplayer = m_env.getLocalPlayer();
1239-
if(myplayer == NULL)
1229+
if (!myplayer)
12401230
return;
12411231

1242-
session_t our_peer_id = m_con->GetPeerID();
1243-
1244-
// Set peer id if not set already
1245-
if(myplayer->peer_id == PEER_ID_INEXISTENT)
1246-
myplayer->peer_id = our_peer_id;
1247-
assert(myplayer->peer_id == our_peer_id);
1248-
12491232
NetworkPacket pkt(TOSERVER_PLAYERITEM, 2);
12501233

12511234
pkt << item;

Diff for: ‎src/content_sao.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -848,7 +848,7 @@ void PlayerSAO::addedToEnvironment(u32 dtime_s)
848848
ServerActiveObject::addedToEnvironment(dtime_s);
849849
ServerActiveObject::setBasePosition(m_base_position);
850850
m_player->setPlayerSAO(this);
851-
m_player->peer_id = m_peer_id;
851+
m_player->setPeerId(m_peer_id);
852852
m_last_good_position = m_base_position;
853853
}
854854

@@ -1359,7 +1359,7 @@ void PlayerSAO::disconnected()
13591359
void PlayerSAO::unlinkPlayerSessionAndSave()
13601360
{
13611361
assert(m_player->getPlayerSAO() == this);
1362-
m_player->peer_id = 0;
1362+
m_player->setPeerId(PEER_ID_INEXISTENT);
13631363
m_env->savePlayer(m_player);
13641364
m_player->setPlayerSAO(NULL);
13651365
m_env->removePlayer(m_player);

Diff for: ‎src/player.h

-2
Original file line numberDiff line numberDiff line change
@@ -147,8 +147,6 @@ class Player
147147
v2s32 local_animations[4];
148148
float local_animation_speed;
149149

150-
session_t peer_id = PEER_ID_INEXISTENT;
151-
152150
std::string inventory_formspec;
153151

154152
PlayerControl control;

Diff for: ‎src/remoteplayer.h

+6
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,10 @@ class RemotePlayer : public Player
135135

136136
u16 protocol_version = 0;
137137

138+
session_t getPeerId() const { return m_peer_id; }
139+
140+
void setPeerId(session_t peer_id) { m_peer_id = peer_id; }
141+
138142
private:
139143
/*
140144
serialize() writes a bunch of text that can contain
@@ -166,4 +170,6 @@ class RemotePlayer : public Player
166170
bool m_sky_clouds;
167171

168172
CloudParams m_cloud_params;
173+
174+
session_t m_peer_id = PEER_ID_INEXISTENT;
169175
};

Diff for: ‎src/script/lua_api/l_object.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1023,7 +1023,7 @@ int ObjectRef::l_is_player_connected(lua_State *L)
10231023
NO_MAP_LOCK_REQUIRED;
10241024
ObjectRef *ref = checkobject(L, 1);
10251025
RemotePlayer *player = getplayer(ref);
1026-
lua_pushboolean(L, (player != NULL && player->peer_id != 0));
1026+
lua_pushboolean(L, (player != NULL && player->getPeerId() != PEER_ID_INEXISTENT));
10271027
return 1;
10281028
}
10291029

Diff for: ‎src/script/lua_api/l_server.cpp

+15-13
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ int ModApiServer::l_get_player_ip(lua_State *L)
124124
}
125125
try
126126
{
127-
Address addr = getServer(L)->getPeerAddress(player->peer_id);
127+
Address addr = getServer(L)->getPeerAddress(player->getPeerId());
128128
std::string ip_str = addr.serializeString();
129129
lua_pushstring(L, ip_str.c_str());
130130
return 1;
@@ -150,7 +150,7 @@ int ModApiServer::l_get_player_information(lua_State *L)
150150
Address addr;
151151
try
152152
{
153-
addr = getServer(L)->getPeerAddress(player->peer_id);
153+
addr = getServer(L)->getPeerAddress(player->getPeerId());
154154
} catch(const con::PeerNotFoundException &) {
155155
dstream << FUNCTION_NAME << ": peer was not found" << std::endl;
156156
lua_pushnil(L); // error
@@ -171,16 +171,18 @@ int ModApiServer::l_get_player_information(lua_State *L)
171171
return 1; \
172172
}
173173

174-
ERET(getServer(L)->getClientConInfo(player->peer_id,con::MIN_RTT,&min_rtt))
175-
ERET(getServer(L)->getClientConInfo(player->peer_id,con::MAX_RTT,&max_rtt))
176-
ERET(getServer(L)->getClientConInfo(player->peer_id,con::AVG_RTT,&avg_rtt))
177-
ERET(getServer(L)->getClientConInfo(player->peer_id,con::MIN_JITTER,&min_jitter))
178-
ERET(getServer(L)->getClientConInfo(player->peer_id,con::MAX_JITTER,&max_jitter))
179-
ERET(getServer(L)->getClientConInfo(player->peer_id,con::AVG_JITTER,&avg_jitter))
174+
ERET(getServer(L)->getClientConInfo(player->getPeerId(), con::MIN_RTT, &min_rtt))
175+
ERET(getServer(L)->getClientConInfo(player->getPeerId(), con::MAX_RTT, &max_rtt))
176+
ERET(getServer(L)->getClientConInfo(player->getPeerId(), con::AVG_RTT, &avg_rtt))
177+
ERET(getServer(L)->getClientConInfo(player->getPeerId(), con::MIN_JITTER,
178+
&min_jitter))
179+
ERET(getServer(L)->getClientConInfo(player->getPeerId(), con::MAX_JITTER,
180+
&max_jitter))
181+
ERET(getServer(L)->getClientConInfo(player->getPeerId(), con::AVG_JITTER,
182+
&avg_jitter))
180183

181-
ERET(getServer(L)->getClientInfo(player->peer_id,
182-
&state, &uptime, &ser_vers, &prot_vers,
183-
&major, &minor, &patch, &vers_string))
184+
ERET(getServer(L)->getClientInfo(player->getPeerId(), &state, &uptime, &ser_vers,
185+
&prot_vers, &major, &minor, &patch, &vers_string))
184186

185187
lua_newtable(L);
186188
int table = lua_gettop(L);
@@ -291,7 +293,7 @@ int ModApiServer::l_ban_player(lua_State *L)
291293
try
292294
{
293295
Address addr = getServer(L)->getPeerAddress(
294-
dynamic_cast<ServerEnvironment *>(getEnv(L))->getPlayer(name)->peer_id);
296+
dynamic_cast<ServerEnvironment *>(getEnv(L))->getPlayer(name)->getPeerId());
295297
std::string ip_str = addr.serializeString();
296298
getServer(L)->setIpBanned(ip_str, name);
297299
} catch(const con::PeerNotFoundException &) {
@@ -323,7 +325,7 @@ int ModApiServer::l_kick_player(lua_State *L)
323325
lua_pushboolean(L, false); // No such player
324326
return 1;
325327
}
326-
getServer(L)->DenyAccess_Legacy(player->peer_id, utf8_to_wide(message));
328+
getServer(L)->DenyAccess_Legacy(player->getPeerId(), utf8_to_wide(message));
327329
lua_pushboolean(L, true);
328330
return 1;
329331
}

0 commit comments

Comments
 (0)
Please sign in to comment.