{
std::vector<UserID> list;
for (auto it = user_map_.begin(); it != user_map_.end(); ++it) {
- list.push_back(it->first);
+ if (it->first != 0) {
+ list.push_back(it->first);
+ }
}
return list;
}
template <class T>
void Set(UserID user_id, AccountProperty property, T value, bool revision = true)
{
+ if (user_id == 0) {
+ return;
+ }
+
T old_value;
if (!Get(user_id, property, &old_value) || old_value != value) {
boost::unique_lock<boost::recursive_mutex> lock(mutex_);
});
sessions_.erase(it, sessions_.end());
+ Logger::Info("Active sessoin: %d", sessions_.size() - 1);
}
void Server::SendAll(const Command& command)
{
if (auto session = c.session().lock()) {
unsigned int id = static_cast<unsigned int>(session->id());
+ assert(id > 0);
+
ptime now = second_clock::universal_time();
auto time_string = to_iso_extended_string(now);
server.SendUDPTestPacket(session->global_ip(), session->udp_port());
long id = account.GetUserIdFromFingerPrint(finger_print);
- if (id < 1) {
+ if (id == 0) {
// 未登録の場合、公開鍵を要求
session->Send(network::ClientRequestedPublicKey());
} else {
case network::header::ServerReceivePublicKey:
{
if (auto session = c.session().lock()) {
- long id = account.RegisterPublicKey(c.body());
- unsigned int user_id = static_cast<unsigned int>(id);
+ unsigned int user_id = account.RegisterPublicKey(c.body());
+ assert(user_id > 0);
+
// ログイン
session->set_id(user_id);
account.LogIn(user_id);
#define MMO_VERSION_MAJOR 0
#define MMO_VERSION_MINOR 1
-#define MMO_VERSION_REVISION 1
+#define MMO_VERSION_REVISION 3
#ifdef MMO_VERSION_BUILD
#define MMO_VERSION_BUILD_TEXT " Build " MMO_VERSION_TOSTRING(MMO_VERSION_BUILD)