diff --git a/bin/config/settings_lobby.xml b/bin/config/settings_lobby.xml
index 4f41742e..478b6014 100644
--- a/bin/config/settings_lobby.xml
+++ b/bin/config/settings_lobby.xml
@@ -3,7 +3,7 @@
54994
54998
-
+
127.0.0.1
C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack\\ffxiv
@@ -12,9 +12,9 @@
54992
- 127.0.0.1:80
+ 127.0.0.1:80
- default
+ default
127.0.0.1
@@ -24,4 +24,8 @@
sapphire
+
+
+ false
+
\ No newline at end of file
diff --git a/src/servers/Server_Lobby/GameConnection.cpp b/src/servers/Server_Lobby/GameConnection.cpp
index 5f40d522..78afa881 100644
--- a/src/servers/Server_Lobby/GameConnection.cpp
+++ b/src/servers/Server_Lobby/GameConnection.cpp
@@ -223,6 +223,16 @@ void Core::Network::GameConnection::enterWorld( FFXIVARR_PACKET_RAW& packet, uin
bool Core::Network::GameConnection::sendServiceAccountList( FFXIVARR_PACKET_RAW& packet, uint32_t tmpId )
{
LobbySessionPtr pSession = g_serverLobby.getSession( ( char* )&packet.data[0] + 0x20 );
+
+ if( g_serverLobby.m_pConfig->getValue( "Settings.Parameters.AllowNoSessionConnect" ) && pSession == nullptr )
+ {
+ LobbySessionPtr session( new Core::LobbySession() );
+ session->setAccountID( 0 );
+ session->setSessionId( (uint8_t *)&packet.data[0] + 0x20 );
+ pSession = session;
+ g_log.Log( LoggingSeverity::info, "Allowed connection with no session: " + std::string( (char*)&packet.data[0] + 0x20 ) );
+ }
+
if( pSession != nullptr )
{
g_log.Log( LoggingSeverity::info, "Found session linked to accountId: " + std::to_string( pSession->getAccountID() ) );