Minecraft RCON

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

ozzi789

Betreff: Minecraft RCON

BeitragMi, Apr 18, 2012 9:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Guten Morgen BBP!

Ich versuche gerade das RCON Protokoll von Minecraft in BB zu verwirklichen..
Folgende Dokumentation habe ich gefunden: http://wiki.vg/Rcon

Daraus resultiert dieser Code:

Code: [AUSKLAPPEN]
rcon=OpenTCPStream("77.111.238.144",1234)
Print "Connection successful? "+rcon


WriteInt rcon,"17"          ;LENGHT of the Rest

WriteInt rcon,5               ;GENERATED ID (32bit->8byte)

WriteByte rcon,3             ;TYPE 3 for login, 2 to run a command (1 byte)

WriteByte rcon,Asc("X")        ;Payload ASCII text (6 bytes)
WriteByte rcon,Asc("X") 
WriteByte rcon,Asc("X") 
WriteByte rcon,Asc("X") 
WriteByte rcon,Asc("X") 
WriteByte rcon,Asc("X")
 
WriteByte rcon,0               ;2-byte pad (1/2) (2 bytes)
WriteByte rcon,0            ;2-byte pad (2/2)



While Not Eof(rcon)
   Print "Bytes verfuegbar:" + ReadAvail(rcon)
   Print ReadByte(rcon)
Wend

Print Eof(rcon)+" 1=means nicley closed, -1=means something went wrong"




CloseTCPStream(rcon)

WaitKey
Print "FINISHED"



Der Server antwortet auf dem Port, schickt mir aber nur eine 0 zurück und Zack, Connection close Sad
Weis jemand was ich falsch mache?
BB verwendet Little Endian oder?
Zudem ist ein Int bei BB 32 bit lang, also 8 byte?


Grüsse,
ozzi



Edit: hier noch ein log auszug
Code: [AUSKLAPPEN]
12:08:12 [INFO] Starting remote control listener
12:08:12 [INFO] RCON running on MCSERVER:1234
12:08:20 [SEVERE] java.io.IOException: Bad packet id 56
12:08:20 [SEVERE] at net.minecraft.server.Packet.a(Packet.java:75)
12:08:20 [SEVERE] at net.minecraft.server.NetworkManager.h(NetworkManager.
java:149)
12:08:20 [SEVERE] at net.minecraft.server.NetworkManager.c(NetworkManager.
java:268)
12:08:20 [SEVERE] at net.minecraft.server.NetworkReaderThread.run(SourceFi
le:76)
12:08:20 [INFO] Disconnecting /MEINE MASCHINE:54687: Protocol error
12:08:20 [INFO] /MEINE MASCHINE:54687 lost connection
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
  • Zuletzt bearbeitet von ozzi789 am Mi, Apr 18, 2012 12:14, insgesamt einmal bearbeitet

BladeRunner

Moderator

BeitragMi, Apr 18, 2012 12:09
Antworten mit Zitat
Benutzer-Profile anzeigen
32 bit ja, und somit 4 Byte lang.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

ozzi789

BeitragMi, Apr 18, 2012 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Smile
Weist du zufällig ob Little oder Big Endian?
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Tankbuster

BeitragMi, Apr 18, 2012 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Wiki:Zitat:
Type int 3 for login, 2 to run a command


In deinem Programm schickst du aber anstatt ein Int ein Byte ab...
Ob es daran liegt... ka, auf jedenfall ist es ein Fehler Wink

Code: [AUSKLAPPEN]
WriteByte rcon,3   
Twitter
Download Jewel Snake!
Windows|Android

BladeRunner

Moderator

BeitragMi, Apr 18, 2012 17:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein kurzer Test sagt: Little Endian. Passt auch zu einem x86.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

BtbN

BeitragMi, Apr 18, 2012 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Java(Und somit der MC server) arbeitet soweit ich weiß mit Network Endian, was Big Endian heisst.

ozzi789

BeitragMi, Apr 18, 2012 18:02
Antworten mit Zitat
Benutzer-Profile anzeigen
@Tankbuster
Hab ich bereits gefunden, aber wohl vergessen hier nachzutragen, ists leider nicht.
Aber danke Smile

@Blade
Yep, danke Smile

@BtbN
"Integers are little-endian, in contrast with the Beta protocol." Wink
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group