- else if (ch_itr->noenter)
- return CHJOIN_NOENTER;
- else if (ch_itr->password && !Client_token_match(client, ch_itr->password))
- return CHJOIN_WRONGPW;
- else return CHJOIN_OK;
+ else
+ result.CHJOIN_NOTFOUND = false;
+
+ result.CHJOIN_NOENTER = ch_itr->noenter;
+ result.CHJOIN_WRONGPW = ch_itr->password && !Client_token_match(client, ch_itr->password) && !client->isAdmin;
+ result.CHJOIN_SILENT = ch_itr->silent;
+
+ return result;