[SERVER][DEVS?] RCON sql crashes the server?

Game mode: online PVP server
Type of issue: RCON crashes the server when executing sql
Server type:PVP
Region: EU / but we are in South Africa (no region for us so just set to eu)


we use ping perfect as our host. had the server for more than a year now (recentlyish had a wipe etc). since we’re using a hosting company we cant run scripts localy. like find inactive etc. im a developer and would like to have a single view of whats going on on the server. so i built some tools.

part of that needs to be able to use rcon to execute a sql statement for instance (select * from account) (will include a view for sqllite at the end)

however, the server keeps crashing when executing a rcon sql command.

the server log shows:

[2019.01.16-14.06.46:256][  0]LogInit: WinSock: Socket queue 131072 / 131072
[2019.01.16-14.06.46:257][  0]PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
[2019.01.16-14.06.46:257][  0]LogNet: GameNetDriver SteamNetDriver_0 IpNetDriver listening on port 17000
[2019.01.16-14.06.46:407][  0]LogWindows:Error: === Critical error: ===
[2019.01.16-14.06.46:407][  0]LogWindows:Error: 
[2019.01.16-14.06.46:407][  0]LogWindows:Error: Fatal error!
[2019.01.16-14.06.46:407][  0]LogWindows:Error: 
[2019.01.16-14.06.46:407][  0]LogWindows:Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000000
[2019.01.16-14.06.46:408][  0]LogWindows:Error: 
[2019.01.16-14.06.46:408][  0]LogWindows:Error: !0x0000000000000000
[2019.01.16-14.06.46:408][  0]LogWindows:Error: 
[2019.01.16-14.06.46:419][  0]LogExit: Executing StaticShutdownAfterError
[2019.01.16-14.06.46:423][  0]LogWindows: FPlatformMisc::RequestExit(1)
[2019.01.16-14.06.46:424][  0]Log file closed, 01/16/19 14:06:46

it worked once out of like 15 attempts and the other 14 times crashed the server.

im using: https://github.com/xPaw/PHP-Source-Query (since i need to do it in PHP)

**** it might be the library im using to execute the commands but i suspect its got more to do with the server than the socket maker ****

a while ago we used to have a ton of crashes, similar to this. we had rcon enabled and used battlemetrics rcon. after that i disabled rcon and shelved the idea. but this is just so frustrating


my test has been with this:

rcon -> sql SELECT * FROM _Structures LIMIT 0,10

sqllite view (thanks sixxgunz):

CREATE VIEW IF NOT EXISTS "_Structures" AS
SELECT
	pb.name AS Owner,
	pb.pb_id AS pb_id,
	pb.type AS type,
	COUNT(bi.instance_id) AS 'Pieces',
	ap.x || ' ' || ap.y || ' ' || ap.z AS Location
	FROM
		building_instances AS bi
			INNER JOIN buildings b ON b.object_id = bi.object_id
			INNER JOIN actor_position ap ON ap.id = bi.object_id
			INNER JOIN (
			SELECT guildid AS pb_id, name, 'clan' AS type
				FROM guilds
			UNION
			SELECT id, char_name, 'solo' AS type
				FROM
					characters
			) pb ON b.owner_id = pb_id
	GROUP BY bi.object_id
	ORDER BY lower(Owner), COUNT(bi.instance_id) DESC;

script: https://github.com/xPaw/PHP-Source-Query


		
		use xPaw\SourceQuery\SourceQuery;
			define('SQ_SERVER_ADDR', $this->cfg['RCON']['HOST']);
			define('SQ_SERVER_PORT', (int)$this->cfg['RCON']['PORT']);
			define('SQ_TIMEOUT', (int)$this->cfg['RCON']['TIMEOUT']);
			define('SQ_ENGINE', SourceQuery::SOURCE);
			
			
			
			$Query = new SourceQuery();
			
			try {
				$Query->Connect(SQ_SERVER_ADDR, SQ_SERVER_PORT, SQ_TIMEOUT, SQ_ENGINE);
				$Query->SetRconPassword($this->cfg['RCON']['PASSWORD']);
				var_dump($Query->Rcon('sql SELECT * FROM _Structures LIMIT 0,10'));
				exit();
			} catch ( \Exception $e ) {
				echo $e->getMessage();
			} finally {
				$Query->Disconnect();
			}
			

Steps:

  1. make a php file.
  2. use above
  3. run php file to establish a rcon connection and to execute a sql statement on the server
  4. server crashes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.