mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-15 00:01:28 +00:00
Post merge Log.Out converts and header/linker fixes
This commit is contained in:
parent
dd6d1d5511
commit
3448dd1a9e
@ -2051,3 +2051,27 @@ void SharedDatabase::SetBotInspectMessage(uint32 botid, const InspectMessage_Str
|
|||||||
std::string query = StringFormat("UPDATE bots SET BotInspectMessage = '%s' WHERE BotID = %i", msg.c_str(), botid);
|
std::string query = StringFormat("UPDATE bots SET BotInspectMessage = '%s' WHERE BotID = %i", msg.c_str(), botid);
|
||||||
QueryDatabase(query);
|
QueryDatabase(query);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool SharedDatabase::VerifyToken(std::string token, int& status) {
|
||||||
|
status = 0;
|
||||||
|
if (token.length() > 64) {
|
||||||
|
token = token.substr(0, 64);
|
||||||
|
}
|
||||||
|
|
||||||
|
token = EscapeString(token);
|
||||||
|
std::string query = StringFormat("SELECT status FROM tokens WHERE token='%s'", token.c_str());
|
||||||
|
auto results = QueryDatabase(query);
|
||||||
|
if (!results.Success())
|
||||||
|
{
|
||||||
|
std::cerr << "Error in SharedDatabase::VerifyToken query '" << query << "' " << results.ErrorMessage() << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (results.RowCount() != 1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto row = results.begin();
|
||||||
|
status = atoi(row[0]);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
@ -16,7 +16,7 @@ along with this program; if not, write to the Free Software
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../common/debug.h"
|
#include "../common/global_define.h"
|
||||||
#include "web_interface_utils.h"
|
#include "web_interface_utils.h"
|
||||||
#include "rapidjson/writer.h"
|
#include "rapidjson/writer.h"
|
||||||
#include "rapidjson/stringbuffer.h"
|
#include "rapidjson/stringbuffer.h"
|
||||||
|
|||||||
@ -18,7 +18,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|||||||
#ifndef COMMON_WEBINTUTIL_H
|
#ifndef COMMON_WEBINTUTIL_H
|
||||||
#define COMMON_WEBINTUTIL_H
|
#define COMMON_WEBINTUTIL_H
|
||||||
|
|
||||||
#include "../common/debug.h"
|
#include "../common/global_define.h"
|
||||||
#include "rapidjson/writer.h"
|
#include "rapidjson/writer.h"
|
||||||
#include "rapidjson/stringbuffer.h"
|
#include "rapidjson/stringbuffer.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|||||||
@ -1,13 +1,16 @@
|
|||||||
|
#include "../common/eqemu_logsys.h"
|
||||||
#include "web_interface.h"
|
#include "web_interface.h"
|
||||||
#include "method_handler.h"
|
#include "method_handler.h"
|
||||||
#include "remote_call.h"
|
#include "remote_call.h"
|
||||||
|
|
||||||
|
EQEmuLogSys Log;
|
||||||
volatile bool run = true;
|
volatile bool run = true;
|
||||||
TimeoutManager timeout_manager;
|
TimeoutManager timeout_manager;
|
||||||
const EQEmuConfig *config = nullptr;
|
const EQEmuConfig *config = nullptr;
|
||||||
WorldServer *worldserver = nullptr;
|
WorldServer *worldserver = nullptr;
|
||||||
libwebsocket_context *context = nullptr;
|
libwebsocket_context *context = nullptr;
|
||||||
SharedDatabase *db = nullptr;
|
SharedDatabase *db = nullptr;
|
||||||
|
|
||||||
std::map<std::string, per_session_data_eqemu*> sessions;
|
std::map<std::string, per_session_data_eqemu*> sessions;
|
||||||
std::map<std::string, std::pair<int, MethodHandler>> authorized_methods;
|
std::map<std::string, std::pair<int, MethodHandler>> authorized_methods;
|
||||||
std::map<std::string, MethodHandler> unauthorized_methods;
|
std::map<std::string, MethodHandler> unauthorized_methods;
|
||||||
@ -135,18 +138,20 @@ static struct libwebsocket_protocols protocols[] = {
|
|||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
RegisterExecutablePlatform(ExePlatformWebInterface);
|
RegisterExecutablePlatform(ExePlatformWebInterface);
|
||||||
|
Log.LoadLogSettingsDefaults();
|
||||||
|
|
||||||
set_exception_handler();
|
set_exception_handler();
|
||||||
register_methods();
|
register_methods();
|
||||||
Timer InterserverTimer(INTERSERVER_TIMER); // does auto-reconnect
|
Timer InterserverTimer(INTERSERVER_TIMER); // does auto-reconnect
|
||||||
_log(WEB_INTERFACE__INIT, "Starting EQEmu Web Server.");
|
Log.Out(Logs::General, Logs::WebInterface_Server, "Starting EQEmu Web Server.");
|
||||||
|
|
||||||
if (signal(SIGINT, CatchSignal) == SIG_ERR) {
|
if (signal(SIGINT, CatchSignal) == SIG_ERR) {
|
||||||
_log(WEB_INTERFACE__ERROR, "Could not set signal handler");
|
Log.Out(Logs::General, Logs::Error, "Could not set signal handler");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (signal(SIGTERM, CatchSignal) == SIG_ERR) {
|
if (signal(SIGTERM, CatchSignal) == SIG_ERR) {
|
||||||
_log(WEB_INTERFACE__ERROR, "Could not set signal handler");
|
Log.Out(Logs::General, Logs::Error, "Could not set signal handler");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -162,15 +167,15 @@ int main() {
|
|||||||
|
|
||||||
context = libwebsocket_create_context(&info);
|
context = libwebsocket_create_context(&info);
|
||||||
if (context == NULL) {
|
if (context == NULL) {
|
||||||
_log(WEB_INTERFACE__ERROR, "Could not create websocket handler.");
|
Log.Out(Logs::General, Logs::Error, "Could not create websocket handler.");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
db = new SharedDatabase();
|
db = new SharedDatabase();
|
||||||
_log(WEB_INTERFACE__TRACE, "Connecting to database...");
|
Log.Out(Logs::General, Logs::WebInterface_Server, "Connecting to database...");
|
||||||
if(!db->Connect(config->DatabaseHost.c_str(), config->DatabaseUsername.c_str(),
|
if(!db->Connect(config->DatabaseHost.c_str(), config->DatabaseUsername.c_str(),
|
||||||
config->DatabasePassword.c_str(), config->DatabaseDB.c_str(), config->DatabasePort)) {
|
config->DatabasePassword.c_str(), config->DatabaseDB.c_str(), config->DatabasePort)) {
|
||||||
_log(WEB_INTERFACE__TRACE, "Unable to connect to the database, cannot continue without a database connection");
|
Log.Out(Logs::General, Logs::WebInterface_Server, "Unable to connect to the database, cannot continue without a database connection");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
#ifndef WI_WEB_INTERFACE_H
|
#ifndef WI_WEB_INTERFACE_H
|
||||||
#define WI_WEB_INTERFACE_H
|
#define WI_WEB_INTERFACE_H
|
||||||
|
|
||||||
#include "../common/debug.h"
|
#include "../common/global_define.h"
|
||||||
#include "../common/opcodemgr.h"
|
#include "../common/opcodemgr.h"
|
||||||
#include "../common/eq_stream_factory.h"
|
#include "../common/eq_stream_factory.h"
|
||||||
#include "../common/rulesys.h"
|
#include "../common/rulesys.h"
|
||||||
|
|||||||
@ -15,7 +15,7 @@
|
|||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
#include "../common/debug.h"
|
#include "../common/global_define.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -44,7 +44,7 @@ WorldServer::~WorldServer(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void WorldServer::OnConnected(){
|
void WorldServer::OnConnected(){
|
||||||
_log(WEB_INTERFACE__INIT, "Connected to World.");
|
Log.Out(Logs::General, Logs::WebInterface_Server, "Connected to World.");
|
||||||
WorldConnection::OnConnected();
|
WorldConnection::OnConnected();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,7 +55,7 @@ void WorldServer::Process(){
|
|||||||
|
|
||||||
ServerPacket *pack = nullptr;
|
ServerPacket *pack = nullptr;
|
||||||
while((pack = tcpc.PopPacket())){
|
while((pack = tcpc.PopPacket())){
|
||||||
_log(WEB_INTERFACE__TRACE, "Received Opcode: %4X", pack->opcode);
|
Log.Out(Logs::General, Logs::Netcode, "Received Opcode: %4X", pack->opcode);
|
||||||
switch(pack->opcode) {
|
switch(pack->opcode) {
|
||||||
case 0: { break; }
|
case 0: { break; }
|
||||||
case ServerOP_KeepAlive: { break; }
|
case ServerOP_KeepAlive: { break; }
|
||||||
|
|||||||
@ -268,7 +268,7 @@ bool Console::Process() {
|
|||||||
}
|
}
|
||||||
else if (tcpc->GetPacketMode() == EmuTCPConnection::packetModeWebInterface)
|
else if (tcpc->GetPacketMode() == EmuTCPConnection::packetModeWebInterface)
|
||||||
{
|
{
|
||||||
_log(WORLD__CONSOLE, "New WI Connection from %s:%d", inet_ntoa(in), GetPort());
|
Log.Out(Logs::Detail, Logs::World_Server, "New WI Connection from %s:%d", inet_ntoa(in), GetPort());
|
||||||
WILink.SetConnection(tcpc);
|
WILink.SetConnection(tcpc);
|
||||||
tcpc = 0;
|
tcpc = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -108,6 +108,8 @@ uint32 numclients = 0;
|
|||||||
uint32 numzones = 0;
|
uint32 numzones = 0;
|
||||||
bool holdzones = false;
|
bool holdzones = false;
|
||||||
|
|
||||||
|
EQEmuLogSys Log;
|
||||||
|
|
||||||
extern ConsoleList console_list;
|
extern ConsoleList console_list;
|
||||||
|
|
||||||
void CatchSignal(int sig_num);
|
void CatchSignal(int sig_num);
|
||||||
|
|||||||
@ -1,8 +1,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include "../common/debug.h"
|
#include "../common/global_define.h"
|
||||||
#include "../common/logsys.h"
|
#include "../common/eqemu_logsys.h"
|
||||||
#include "../common/logtypes.h"
|
|
||||||
#include "../common/md5.h"
|
#include "../common/md5.h"
|
||||||
#include "../common/emu_tcp_connection.h"
|
#include "../common/emu_tcp_connection.h"
|
||||||
#include "../common/packet_dump.h"
|
#include "../common/packet_dump.h"
|
||||||
|
|||||||
@ -1,12 +1,11 @@
|
|||||||
#include "../common/debug.h"
|
#include "../common/global_define.h"
|
||||||
#include "web_interface.h"
|
#include "web_interface.h"
|
||||||
#include "world_config.h"
|
#include "world_config.h"
|
||||||
#include "clientlist.h"
|
#include "clientlist.h"
|
||||||
#include "zonelist.h"
|
#include "zonelist.h"
|
||||||
#include "zoneserver.h"
|
#include "zoneserver.h"
|
||||||
#include "remote_call.h"
|
#include "remote_call.h"
|
||||||
#include "../common/logsys.h"
|
#include "../common/eqemu_logsys.h"
|
||||||
#include "../common/logtypes.h"
|
|
||||||
#include "../common/md5.h"
|
#include "../common/md5.h"
|
||||||
#include "../common/emu_tcp_connection.h"
|
#include "../common/emu_tcp_connection.h"
|
||||||
#include "../common/packet_dump.h"
|
#include "../common/packet_dump.h"
|
||||||
@ -25,7 +24,7 @@ void WebInterfaceConnection::SetConnection(EmuTCPConnection *inStream)
|
|||||||
{
|
{
|
||||||
if(stream)
|
if(stream)
|
||||||
{
|
{
|
||||||
_log(WEB_INTERFACE__ERROR, "Incoming WebInterface Connection while we were already connected to a WebInterface.");
|
Log.Out(Logs::General, Logs::WebInterface_Server, "Incoming WebInterface Connection while we were already connected to a WebInterface.");
|
||||||
stream->Disconnect();
|
stream->Disconnect();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,7 +58,7 @@ bool WebInterfaceConnection::Process()
|
|||||||
{
|
{
|
||||||
struct in_addr in;
|
struct in_addr in;
|
||||||
in.s_addr = GetIP();
|
in.s_addr = GetIP();
|
||||||
_log(WEB_INTERFACE__ERROR, "WebInterface authorization failed.");
|
Log.Out(Logs::General, Logs::Error, "WebInterface authorization failed.");
|
||||||
ServerPacket* pack = new ServerPacket(ServerOP_ZAAuthFailed);
|
ServerPacket* pack = new ServerPacket(ServerOP_ZAAuthFailed);
|
||||||
SendPacket(pack);
|
SendPacket(pack);
|
||||||
delete pack;
|
delete pack;
|
||||||
@ -71,7 +70,7 @@ bool WebInterfaceConnection::Process()
|
|||||||
{
|
{
|
||||||
struct in_addr in;
|
struct in_addr in;
|
||||||
in.s_addr = GetIP();
|
in.s_addr = GetIP();
|
||||||
_log(WEB_INTERFACE__ERROR, "WebInterface authorization failed.");
|
Log.Out(Logs::General, Logs::Error, "WebInterface authorization failed.");
|
||||||
ServerPacket* pack = new ServerPacket(ServerOP_ZAAuthFailed);
|
ServerPacket* pack = new ServerPacket(ServerOP_ZAAuthFailed);
|
||||||
SendPacket(pack);
|
SendPacket(pack);
|
||||||
delete pack;
|
delete pack;
|
||||||
@ -81,7 +80,7 @@ bool WebInterfaceConnection::Process()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_log(WEB_INTERFACE__ERROR, "**WARNING** You have not configured a world shared key in your config file. You should add a <key>STRING</key> element to your <world> element to prevent unauthorized zone access.");
|
Log.Out(Logs::General, Logs::Error, "**WARNING** You have not configured a world shared key in your config file. You should add a <key>STRING</key> element to your <world> element to prevent unauthorized zone access.");
|
||||||
authenticated = true;
|
authenticated = true;
|
||||||
}
|
}
|
||||||
delete pack;
|
delete pack;
|
||||||
@ -99,7 +98,7 @@ bool WebInterfaceConnection::Process()
|
|||||||
}
|
}
|
||||||
case ServerOP_ZAAuth:
|
case ServerOP_ZAAuth:
|
||||||
{
|
{
|
||||||
_log(WEB_INTERFACE__ERROR, "Got authentication from WebInterface when they are already authenticated.");
|
Log.Out(Logs::General, Logs::Error, "Got authentication from WebInterface when they are already authenticated.");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_WIRemoteCall:
|
case ServerOP_WIRemoteCall:
|
||||||
@ -159,7 +158,7 @@ bool WebInterfaceConnection::Process()
|
|||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
_log(WEB_INTERFACE__ERROR, "Unknown ServerOPcode from WebInterface 0x%04x, size %d", pack->opcode, pack->size);
|
Log.Out(Logs::General, Logs::Error, "Unknown ServerOPcode from WebInterface 0x%04x, size %d", pack->opcode, pack->size);
|
||||||
DumpPacket(pack->pBuffer, pack->size);
|
DumpPacket(pack->pBuffer, pack->size);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4362,7 +4362,7 @@ void Client::Handle_OP_ClientUpdate(const EQApplicationPacket *app)
|
|||||||
params.push_back(std::to_string(ppu->x_pos));
|
params.push_back(std::to_string(ppu->x_pos));
|
||||||
params.push_back(std::to_string(ppu->y_pos));
|
params.push_back(std::to_string(ppu->y_pos));
|
||||||
params.push_back(std::to_string(ppu->z_pos));
|
params.push_back(std::to_string(ppu->z_pos));
|
||||||
params.push_back(std::to_string(heading));
|
params.push_back(std::to_string(m_Position.w));
|
||||||
params.push_back(std::to_string(GetClass()));
|
params.push_back(std::to_string(GetClass()));
|
||||||
params.push_back(std::to_string(GetRace()));
|
params.push_back(std::to_string(GetRace()));
|
||||||
RemoteCallSubscriptionHandler::Instance()->OnEvent("Client.Position", params);
|
RemoteCallSubscriptionHandler::Instance()->OnEvent("Client.Position", params);
|
||||||
|
|||||||
@ -1233,10 +1233,10 @@ void Mob::MakeSpawnUpdateNoDelta(PlayerPositionUpdateServer_Struct *spu){
|
|||||||
std::vector<std::string> params;
|
std::vector<std::string> params;
|
||||||
params.push_back(std::to_string((long)GetID()));
|
params.push_back(std::to_string((long)GetID()));
|
||||||
params.push_back(GetCleanName());
|
params.push_back(GetCleanName());
|
||||||
params.push_back(std::to_string((double)x_pos));
|
params.push_back(std::to_string((double)m_Position.x));
|
||||||
params.push_back(std::to_string((double)y_pos));
|
params.push_back(std::to_string((double)m_Position.y));
|
||||||
params.push_back(std::to_string((double)z_pos));
|
params.push_back(std::to_string((double)m_Position.z));
|
||||||
params.push_back(std::to_string((double)heading));
|
params.push_back(std::to_string((double)m_Position.w));
|
||||||
params.push_back(std::to_string((double)GetClass()));
|
params.push_back(std::to_string((double)GetClass()));
|
||||||
params.push_back(std::to_string((double)GetRace()));
|
params.push_back(std::to_string((double)GetRace()));
|
||||||
RemoteCallSubscriptionHandler::Instance()->OnEvent("NPC.Position", params);
|
RemoteCallSubscriptionHandler::Instance()->OnEvent("NPC.Position", params);
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
#include "../common/debug.h"
|
#include "../common/global_define.h"
|
||||||
#include "../common/emu_tcp_connection.h"
|
#include "../common/emu_tcp_connection.h"
|
||||||
#include "../common/logsys.h"
|
#include "../common/eqemu_logsys.h"
|
||||||
#include "../common/logtypes.h"
|
|
||||||
#include "../common/md5.h"
|
#include "../common/md5.h"
|
||||||
#include "../common/packet_dump.h"
|
#include "../common/packet_dump.h"
|
||||||
#include "../common/packet_functions.h"
|
#include "../common/packet_functions.h"
|
||||||
@ -184,10 +183,10 @@ void handle_rc_get_initial_entity_positions(const std::string &method, const std
|
|||||||
res["ent_id"] = itoa(c->GetEntityID());
|
res["ent_id"] = itoa(c->GetEntityID());
|
||||||
res["type"] = "Door";
|
res["type"] = "Door";
|
||||||
res["name"] = c->GetDoorName();
|
res["name"] = c->GetDoorName();
|
||||||
res["x"] = itoa(c->GetX());
|
res["x"] = itoa(c->GetPosition().x);
|
||||||
res["y"] = itoa(c->GetY());
|
res["y"] = itoa(c->GetPosition().y);
|
||||||
res["z"] = itoa(c->GetZ());
|
res["z"] = itoa(c->GetPosition().z);
|
||||||
res["h"] = itoa(c->GetHeading());
|
res["h"] = itoa(c->GetPosition().w);
|
||||||
RemoteCallResponse(connection_id, request_id, res, error);
|
RemoteCallResponse(connection_id, request_id, res, error);
|
||||||
}
|
}
|
||||||
std::list<Object*> object_list;
|
std::list<Object*> object_list;
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
#include "../common/debug.h"
|
#include "../common/global_define.h"
|
||||||
#include "../common/logsys.h"
|
#include "../common/eqemu_logsys.h"
|
||||||
#include "../common/logtypes.h"
|
|
||||||
#include "../common/md5.h"
|
#include "../common/md5.h"
|
||||||
#include "../common/emu_tcp_connection.h"
|
#include "../common/emu_tcp_connection.h"
|
||||||
#include "../common/packet_functions.h"
|
#include "../common/packet_functions.h"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user