eqemu-server/zone/gm_commands/set/loginserver_info.cpp
Chris Miles 1a48add20e
[Loginserver] Modernize codebase (#4647)
* Beginning of cleanup

* More cleanup

* More cleanup

* Enc cleanup

* client manager cleanup

* client cleanup

* More cleanup

* More cleanup

* Cleanup

* More cleanup, account  context, account management

* Remove positional fmt bindings

* Use LoginAccountContext

* Update loginserver_webserver.cpp

* Remove comments

* Port CreateLoginServerAccount to repositories

* More cleanup

* More cleanup

* More cleanup

* More cleanup

* Remove a ton of functions

* More cleanup

* More cleanup

* More cleanup

* Cleanup SendClientAuthToWorld

* Consolidate world server logic

* Update login_accounts_repository.h

* Update login_accounts_repository.h

* Move api tokens to repositories

* Cleanup options

* Move everything else to repositories

* Update account_management.cpp

* uint64 account

* Update login_schema.sql

* Fix

* Update world_server.cpp

* auto
2025-02-06 12:47:02 -06:00

31 lines
868 B
C++
Executable File

#include "../../client.h"
#include "../../worldserver.h"
extern WorldServer worldserver;
void SetLoginserverInfo(Client *c, const Seperator *sep)
{
const auto arguments = sep->argnum;
if (arguments < 3) {
c->Message(Chat::White, "Usage: #set lsinfo [Email] [Password]");
return;
}
const std::string& email = sep->arg[2];
const std::string& password = sep->arg[3];
auto pack = new ServerPacket(ServerOP_LSAccountUpdate, sizeof(LoginserverAccountUpdate));
auto s = (LoginserverAccountUpdate *) pack->pBuffer;
s->user_account_id = c->LSAccountID();
strn0cpy(s->user_account_name, c->AccountName(), 30);
strn0cpy(s->user_email, email.c_str(), 100);
strn0cpy(s->user_account_password, password.c_str(), 50);
worldserver.SendPacket(pack);
safe_delete(pack);
c->Message(Chat::White, "Your email and local loginserver password have been set.");
}