Do I compile PHP? Do I need a website host or just a VPS to run it?
How to run whatever he just sent and then how to use it?
 
 General 
 Get player count JSONvar xhr = new XMLHttpRequest();
//	80.211.225.24:36963
    //(`http://www.unrealsoftware.de/inc_pub/serverinfo.php?i=80.211.225.24&p=36963&g=0&123`)
function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min)) + min;
    }
let gotPlayers = (() => {
    let rand = getRandomInt(1,100)
    xhr.open("GET", "http://www.unrealsoftware.de/inc_pub/serverinfo.php?i=80.211.225.24&p=36963&g=0&" + rand, true);
    xhr.onload = function (){
        let text = xhr.responseText
        var fPlayer = text.lastIndexOf('Player');
        text = text.substr(fPlayer,23)
        text = text.substr(17)
        let newname = 'Online: ' + text
        return text 
    }
    xhr.send(null)
});
 DC: personally through PM.
 Mami Tomoe: Using the forum is always better than PM if you're talking about something which might be interesting to anyone else. Also using existing threads is always right when your topic matches. Good job. You chose the right path.sendRequest(chr(1).chr(0).chr(251).chr(4));
 4 bytes header (like other messages)
 byte: player count, and then player count times (loop):
 string player namesendRequest(chr(1).chr(0).chr(251).chr(5));
 4 bytes header (like other messages)
 byte: player count, and then player count times (loop):
 byte player ID
 string player name
 byte team
 int score
 int deaths
 DC, I do not know what any of that means, and I've lost all hope in liking PHP/HTML, but I know that with enough time spent searching through old Stack Overflow threads, I should be able to implement that into my project.
 DC has written
 byte: player count, and then player count times (loop):
 byte player ID
 string player name
 byte team
 int score
 int deathsbyte: 3 player1: 	* playerID 	* player name 	* team 	* score 	* deaths player2: 	* playerID 	* player name 	* team 	* score 	* deaths player3: 	* playerID 	* player name 	* team 	* score 	* deaths
 ohaz: I tried that, and it doesn't seem to work, only the first player shows up "kinda properly" but not really.public List<Types.PlayerData> PlayerData(string ip, ushort port)
		{
			List<Types.PlayerData> playerData = new List<Types.PlayerData>();
			// This constructor arbitrarily assigns the local port number.
			UdpClient udpClient = new UdpClient(30001);
			try
			{
				udpClient.Connect(ip, port);
				// Sends a message to the host to which you have connected.
				byte[] sendBytes = new byte[] { 1, 0, 251, 5 };
				udpClient.Send(sendBytes, sendBytes.Length);
				// Receive bytes.
				IAsyncResult asyncResult = udpClient.BeginReceive(null, null);
				asyncResult.AsyncWaitHandle.WaitOne(3000);
				if (asyncResult.IsCompleted)
				{
					// IPEndPoint object will allow us to read datagrams sent from any source.
					IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
					Index = 0;
					ByteArray = udpClient.EndReceive(asyncResult, ref RemoteIpEndPoint);
					byte[] bytes = { ReadByte(), ReadByte(), ReadByte(), ReadByte() };
					if (bytes[0] == 1 && bytes[1] == 0 && bytes[2] == 251 && bytes[3] == 5)
					{
						byte PlayerCount = ReadByte();
						for (byte i = 0; i < PlayerCount; i++)
						{
							byte ID = ReadByte();
							string Name = ReadString();
							byte Team = ReadByte();
							int Score = ReadByte();
							int Deaths = ReadByte();
							playerData.Add(new Types.PlayerData
							{
								ID = ID,
								Name = Name,
								Team = Team,
								Score = Score,
								Deaths = Deaths
							});
						}
					}
					else
					{
						// Unexpected server reply.
						udpClient.Close();
						return null;
					}
					udpClient.Close();
				}
				else
				{
					// Timeout.
					udpClient.Close();
					return null;
				}
			}
			catch
			{
				udpClient.Close();
				return null;
			}
			return playerData;
		}
 DC: How does "readInt" work? I used readByte and readString from the PHP (I converted them), but how does readInt work? Is it similar to the way string works (data length and then data)?
 
 sv_rcon) but do NOT limit access to certain users (
 sv_rconusers)! 
 DC and @
 MikuAuahDark, thank you!
 cmsg that works via IP?
 cmsg but with an IP as destination of the message instead of a player ID? Nope. Doesn't exist.
 logaddress_add though which sends ALL console messages to an external IP. So you could do that, send the message and afterwards use 
 logaddress_remove.
 cmsg externally you can call it via rcon of course. 
 DC: Doesn't it send it through UDP? Seems unreliable, nevermind then, thank you! 
 DC
 DC: I've had better luck with UTF-7, it seems to show more characters properly, while ASCII shows only a few.