I need to send some data to an IP address with UDP. I don't know how to format my string. Am i need to send multiple data packets?
From the developer page I only get this information:
What am I supposed to do? In the right section it's the string that I need to send.
Could anyone explain what does mean "Challenge"?
From the developers site:
Shortly after a game server has been initialized, it picks two master servers to "join." In order for clients to see a particular game server when they click on the "Internet" tab, the game server must be present in the Steam master servers' records. The game server sends each master server "q" (71). The master servers each respond by sending FF FF FF FF 73 0A followed by a (relatively) unique 4-byte "challenge" number. If you send the master servers an invalid challenge, you will get another challenge as a response.
What does this mean?
FF FF FF FF 73 0A
As I wrote in my comment, you need to send bytes, not really a string. So you'll have to find out if the server works with ascii encoding or something different and then get the bytes for your strings in the correct encoding.
When the docu talks about "sending FF 73 ... " it means sending bytes. It is a number in base 16 (="Hexadecimal"). A byte "FF" is created for example like this :
byte b = 0xFF; // Hex for 255
When the docu talks about sending "q(71)" it means sending a byte (0x71) which encodes the letter "q" in ascii.
About the "challenge" read Wikipedia and consult the developer docu a little bit deeper. I am sure they say more on that matter.
On using UDP in Java you can consult many examples and the tutorials from oracle.