Skip to content

Instantly share code, notes, and snippets.

@carlbennett
Created November 18, 2011 05:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save carlbennett/1375701 to your computer and use it in GitHub Desktop.
Save carlbennett/1375701 to your computer and use it in GitHub Desktop.
Pointer problem most likely
namespace Mineserver
{
struct Watcher_Login
{
void operator()(Mineserver::Game::pointer_t game, Mineserver::Network_Client::pointer_t client, Mineserver::Network_Message::pointer_t message) const
{
std::cout << "Login watcher called!" << std::endl;
const Mineserver::Network_Message_Login* msg = (Mineserver::Network_Message_Login*)&message;
Mineserver::Game_Player::pointer_t player(new Mineserver::Game_Player);
player->setName(msg->username);
std::cout << "Player login v." << msg->version << ": " << msg->username << std::endl;
game->addPlayer(player);
game->associateClient(client, player);
boost::shared_ptr<Mineserver::Network_Message_Kick> responseMessage(new Mineserver::Network_Message_Kick);
responseMessage->mid = 0xFF;
responseMessage->reason = "go away";
client->outgoing().push_back(responseMessage);
}
};
}
// Found packet: 01
// State is: 0
// State is: 1
// There are 1 messages.
// Login watcher called!
// Player login v.17: Jailout2000��!J 
// Watchers done.
// Trying to send message ID: ff
// We want to send 17 bytes
// Wrote 17 bytes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment