--- a/src/Network/Client.cc Thu Jan 22 02:47:53 2009 +0200
+++ b/src/Network/Client.cc Thu Jan 22 02:56:50 2009 +0200
@@ -13,8 +13,12 @@
NetworkClientConnect::NetworkClientConnect (Engine &engine, const NetworkEndpoint &connect_to) :
engine(engine), netsession(NETWORK_MAGIC_ID)
{
+ Engine::log(INFO, "net.client") << "Connecting to server: " << connect_to;
+
// connect NetworkSession to get server node (this is still blocking)
server = netsession.connect(connect_to);
+
+ Engine::log(INFO, "net.client") << "Connected, receiving game data";
// connect slots
slots.connect(netsession.sig_chan_message(NETCHAN_TERRAIN_ARRAY), this, &NetworkClientConnect::on_terrain_array);
@@ -59,6 +63,8 @@
// pass Terrain to engine to create game
GameState &gs = engine.onNetworkClientConnected(terrain);
+ Engine::log(INFO, "net.client") << "Got game data, creating player";
+
// create our new NetworkClient object
client = new NetworkClient(engine, gs, netsession, server);
}
@@ -116,20 +122,22 @@
// read the packet
Vector position = pkt.read_vector();
- Engine::log(INFO, "client.on_server_hello") << this << ": pos=" << position;
+ Engine::log(DEBUG, "client.on_server_hello") << this << ": pos=" << position;
// create the LocalPlayer object
NetworkClientLocalPlayer *player = new NetworkClientLocalPlayer(client, obj_id, position);
// pass it on to engine
client.engine.onNetworkClientPlayer(player);
+
+ Engine::log(INFO, "net.client") << "Joined server: " << player;
}
void NetworkClientController::on_player_info (NetworkObjectID obj_id, NetworkPacketInput &pkt) {
// read the packet
Vector position = pkt.read_vector();
- Engine::log(INFO, "client.on_player_info") << this << ": pos=" << position;
+ Engine::log(DEBUG, "client.on_player_info") << this << ": pos=" << position;
// create the LocalPlayer object
new NetworkClientRemotePlayer(client, obj_id, position);
@@ -139,10 +147,12 @@
// read the packet
Vector position = pkt.read_vector();
- Engine::log(INFO, "client.on_player_join") << this << ": pos=" << position;
+ Engine::log(DEBUG, "client.on_player_join") << this << ": pos=" << position;
// create the RemotePlayer object
- new NetworkClientRemotePlayer(client, obj_id, position);
+ NetworkClientRemotePlayer *player = new NetworkClientRemotePlayer(client, obj_id, position);
+
+ Engine::log(INFO, "net.client") << "Player joined: " << player;
}
void NetworkClientController::on_projectile_player_fired (NetworkObjectID obj_id, NetworkPacketInput &pkt) {
@@ -167,7 +177,7 @@
Engine::log(ERROR, "client.on_projectile_player_fired") << this << ": Unknown weapon id: player=" << player << ", weapon_id=" << weapon_id;
}
- Engine::log(INFO, "client.on_projectile_create") << this << ": player=" << player << ", pos=" << position << ", velocity=" << velocity << ", weapon=" << weapon;
+ Engine::log(DEBUG, "client.on_projectile_create") << this << ": player=" << player << ", pos=" << position << ", velocity=" << velocity << ", weapon=" << weapon;
// create the NetworkClientPorjectile object
new NetworkClientProjectile(client, obj_id, player, position, velocity, weapon);
@@ -224,7 +234,7 @@
int flags = pkt.read_uint8();
float aim = pkt.read_float32();
-// Engine::log(INFO, "client_player.on_position") << "obj=" << obj << ", position=" << position << ", velocity=" << velocity << ", aim=" << aim << ", [" << flags << "]";
+// Engine::log(DEBUG, "client_player.on_position") << "obj=" << obj << ", position=" << position << ", velocity=" << velocity << ", aim=" << aim << ", [" << flags << "]";
// just update...
updatePhysics(position, velocity,
@@ -238,7 +248,7 @@
Vector position = pkt.read_vector();
float radius = pkt.read_float32();
- Engine::log(INFO, "client_player.on_dig") << this << ": position=" << position << ", radius=" << radius;
+ Engine::log(DEBUG, "client_player.on_dig") << this << ": position=" << position << ", radius=" << radius;
// just update...
handleDig(position, radius);
@@ -247,7 +257,7 @@
void NetworkClientPlayerBase::on_weapon_change (NetworkPacketInput &pkt) {
uint8_t weapon_index = pkt.read_uint8();
- Engine::log(INFO, "client_player.on_weapon_change") << this << ": weapon_index=" << weapon_index;
+ Engine::log(DEBUG, "client_player.on_weapon_change") << this << ": weapon_index=" << weapon_index;
handleChangeWeapon(weapon_index);
}
@@ -257,7 +267,7 @@
Vector velocity = pkt.read_vector();
float length = pkt.read_float32();
- Engine::log(INFO, "client_player.on_rope_throw") << this << ": position=" << position << ", velocity=" << velocity << ", length=" << length;
+ Engine::log(DEBUG, "client_player.on_rope_throw") << this << ": position=" << position << ", velocity=" << velocity << ", length=" << length;
rope.updateState(ROPE_FLYING, position, velocity, length, NULL);
}
@@ -274,7 +284,7 @@
return;
}
- Engine::log(INFO, "client_player.on_rope_fixed") << this << ": position=" << position << ", length=" << length
+ Engine::log(DEBUG, "client_player.on_rope_fixed") << this << ": position=" << position << ", length=" << length
<< ", player=" << player;
rope.updateState(ROPE_FIXED, position, Vector(0, 0), length, player);
@@ -283,7 +293,7 @@
void NetworkClientPlayerBase::on_rope_released (NetworkPacketInput &pkt) {
(void) pkt;
- Engine::log(INFO, "client_player.on_rope_released") << this;
+ Engine::log(DEBUG, "client_player.on_rope_released") << this;
// use rope.getPosition() instead of e.g. Vector(0, 0) because it will collide there...
rope.updateState(ROPE_FOLDED, rope.getPosition(), Vector(0, 0), 0, NULL);
@@ -292,7 +302,7 @@
void NetworkClientPlayerBase::on_rope_length (NetworkPacketInput &pkt) {
float length = pkt.read_float32();
- Engine::log(INFO, "client_player.on_rope_length") << this << ": length=" << length;
+ Engine::log(DEBUG, "client_player.on_rope_length") << this << ": length=" << length;
rope.updateLength(length);
}
@@ -301,7 +311,7 @@
// read packet
Vector position = pkt.read_vector();
- Engine::log(INFO, "client_player.on_spawn") << this << ": position=" << position;
+ Engine::log(DEBUG, "client_player.on_spawn") << this << ": position=" << position;
// super
Player::spawn(position);
@@ -310,7 +320,7 @@
void NetworkClientPlayerBase::on_die (NetworkPacketInput &pkt) {
(void) pkt;
- Engine::log(INFO, "client_player.on_die") << this;
+ Engine::log(DEBUG, "client_player.on_die") << this;
// super, but don't start the respawn_timer
Player::die(false);
@@ -353,7 +363,7 @@
// pkt is empty
(void) pkt;
- Engine::log(INFO, "client_player.on_quit") << this;
+ Engine::log(INFO, "net.client") << "Player quit: " << this;
client.player_quit(this);
@@ -394,7 +404,7 @@
Vector position = pkt.read_vector();
uint8_t flags = pkt.read_uint8();
- Engine::log(INFO, "client_projectile.on_destroy") << this << ": position=" << position << ", flags=" << flags;
+ Engine::log(DEBUG, "client_projectile.on_destroy") << this << ": position=" << position << ", flags=" << flags;
// pass on to super
Projectile::onDestroy(position, flags & NETWORK_PROJECTILE_REMOVE_GROUND);
@@ -412,7 +422,7 @@
return;
}
- Engine::log(INFO, "client_projectile.hit_player") << this << ": player=" << player;
+ Engine::log(DEBUG, "client_projectile.hit_player") << this << ": player=" << player;
// pass on to super
Projectile::onHitPlayer(player);
--- a/src/Network/Server.cc Thu Jan 22 02:47:53 2009 +0200
+++ b/src/Network/Server.cc Thu Jan 22 02:56:50 2009 +0200
@@ -16,10 +16,12 @@
// and then we listen
netsession.listen(listen_addr);
- Engine::log(INFO, "server") << "running, listen_addr=" << listen_addr;
+ Engine::log(INFO, "net.server") << "Listening on interface: " << listen_addr;
}
void NetworkServer::on_node_connected (NetworkNode *node) {
+ Engine::log(INFO, "net.server") << "Client connected, sending terrain data: " << node->getRemoteAddress();
+
// send the terrain data
send_terrain_data(node);
@@ -28,7 +30,6 @@
// add to players
players.push_back(player);
-
}
void NetworkServer::send_terrain_data (NetworkNode *node) {
@@ -90,9 +91,6 @@
NetworkServerPlayer::NetworkServerPlayer (NetworkServer &server, NetworkNode *node) :
Player(server.state, Vector(PLAYER_INITIAL_X, PLAYER_INITIAL_Y), true), NetworkServerObject(server), node(node)
{
- // log
- Engine::log(INFO, "server_player.connected") << this << ": node=" << node;
-
// messages
slots.connect(node->sig_disconnected(), this, &NetworkServerPlayer::on_disconnected);
slots.connect(this->sig_message(NETMSG_CLIENT_INPUT), this, &NetworkServerPlayer::on_input);
@@ -123,6 +121,8 @@
// broadcast NETMSG_PLAYER_JOIN to all clients except current
this->send_all_except(NETMSG_PLAYER_JOIN, hello_pkt, node, true);
+
+ Engine::log(INFO, "net.server") << "Player joined: " << this << " from " << node->getRemoteAddress();
}
void NetworkServerPlayer::handleDig (Vector position, float radius) {
@@ -131,7 +131,7 @@
pkt.write_vector(position);
pkt.write_float32(radius);
- Engine::log(INFO, "server_player.handle_dig") << "position=" << position << ", radius=" << radius;
+ Engine::log(DEBUG, "server_player.handle_dig") << "position=" << position << ", radius=" << radius;
// tell everyone... make this reliable...
this->send_all(NETMSG_PLAYER_DIG, pkt, true);
@@ -141,7 +141,7 @@
}
void NetworkServerPlayer::handleFireWeapon (Weapon *weapon, Vector position, Vector velocity) {
- Engine::log(INFO, "server_player.fire_weapon") << "weapon='" << weapon->getName() << "', position=" << position << ", velocity=" << velocity;
+ Engine::log(DEBUG, "server_player.fire_weapon") << "weapon='" << weapon->getName() << "', position=" << position << ", velocity=" << velocity;
// create new NetworkServerProjectile object
new NetworkServerProjectile(server, this, position, velocity, weapon);
@@ -153,7 +153,7 @@
void NetworkServerPlayer::handleChangeWeapon (unsigned int weaponIndex) {
NetworkPacket pkt;
- Engine::log(INFO, "server_player.change_weapon") << "weaponIndex=" << weaponIndex;
+ Engine::log(DEBUG, "server_player.change_weapon") << "weaponIndex=" << weaponIndex;
// write packet
pkt.write_uint8(weaponIndex);
@@ -168,7 +168,7 @@
void NetworkServerPlayer::handleRopeState (RopeState state) {
NetworkPacket pkt;
- Engine::log(INFO, "server_player.rope_state") << "state=" << rope.getState() << ", position=" << rope.getPosition() << ", velocity=" << rope.getVelocity() << ", length=" << rope.getLength() << ", pivotPlayer=" << rope.getPivotPlayer();
+ Engine::log(DEBUG, "server_player.rope_state") << "state=" << rope.getState() << ", position=" << rope.getPosition() << ", velocity=" << rope.getVelocity() << ", length=" << rope.getLength() << ", pivotPlayer=" << rope.getPivotPlayer();
switch (state) {
case ROPE_FLYING:
@@ -216,7 +216,7 @@
// write packet
pkt.write_vector(position);
- Engine::log(INFO, "server_player.spawn") << this << ": position=" << position;
+ Engine::log(DEBUG, "server_player.spawn") << this << ": position=" << position;
// send
send_all(NETMSG_PLAYER_SPAWN, pkt, true);
@@ -228,7 +228,7 @@
void NetworkServerPlayer::die (bool start_timer) {
NetworkPacket pkt;
- Engine::log(INFO, "server_player.die") << this;
+ Engine::log(DEBUG, "server_player.die") << this;
// send
send_all(NETMSG_PLAYER_DIE, pkt, true);
@@ -240,7 +240,7 @@
void NetworkServerPlayer::on_disconnected (void) {
NetworkPacket pkt;
- Engine::log(INFO, "server_player.disconnected") << this << ": node=" << node;
+ Engine::log(INFO, "net.server") << "Player disconnected: " << this;
// remove from server
server.handle_disconnect(this);
@@ -309,7 +309,7 @@
void NetworkServerProjectile::onDestroy (Vector position, bool removeGround) {
NetworkPacket pkt;
- Engine::log(INFO, "server_projectile.destroy") << this << "position=" << position << ", removeGround=" << removeGround;
+ Engine::log(DEBUG, "server_projectile.destroy") << this << "position=" << position << ", removeGround=" << removeGround;
pkt.write_vector(position);
pkt.write_uint8(removeGround ? NETWORK_PROJECTILE_REMOVE_GROUND : 0);
@@ -329,7 +329,7 @@
if (player == NULL)
throw Error("NetworkServerProjectile::onHitPlayer called with non-NetworkServerPlayer player");
- Engine::log(INFO, "server_projectile.hit_player") << this << ": player=" << player;
+ Engine::log(DEBUG, "server_projectile.hit_player") << this << ": player=" << player;
// write packet
controller.write_object(pkt, player);