Toon posts:

[C#] SoF2 Rcon Queries

Pagina: 1
Acties:
  • 67 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik probeer een klein tooltje te schrijven in C# waarbij ik met onze SoF2 server can communiseren mbv rcon
Ik heb op http://www.kquery.com/forums/index.php?showtopic=408 wel een tutorial gevonden van iemand die dit voor Q3 heeft gedaan maar dit werkt toch niet geheel met SoF2. Waarschijnlijk zijn de queries toch anders.
Er is niet veel over te vinden op het Net ..... :'(

Misschien kan iemand me op weg helpen

Dit is wat ik tot nu toe heb, niet echt veel dus :P
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        private void ExecCommand(string command)
        {
            command = "ÿÿÿÿrcon "+txtRconPassword.ToString()+command.ToString();
            
            Byte[] sendBytes = Encoding.ASCII.GetBytes(command.ToString());
            
            IPEndPoint RconEndPoint = new IPEndPoint(IPAddress.Any,0);

            try
            {
                rconClient.Connect(txtIPAddress.ToString().Trim(),Convert.ToInt32(txtPortNumber.ToString().Trim()));
            }
            catch
            {
                MessageBox.Show("connection failed");
            }
            

        }


"connection failed" dus .........

Verwijderd

Met "ÿ" bedoel je waarschijnlijk een byte met waarde 255.

Je gebruikt nu als encoding ASCII, maar dat is een 7 bits encoding met 127 als maximum.

Probeer het eens met de windows codepage
C#:
1
Encoding.GetEncoding(1252);

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
ik heb het ook wel eens voor quake gemaakt maar weet niet of dat ook voor sof2 werkt.

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Kijk is wat voor exception je precies krijg? :z

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Net even wat code geklopt:

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
            IPAddress ip = IPAddress.Parse(txtIp.Text);
            int port = int.Parse(txtPort.Text);

            IPEndPoint serverEP = new IPEndPoint(ip, port);

            string command = "ÿÿÿÿ" + "say hi!";

            byte[] buffer = Encoding.ASCII.GetBytes(command);

            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
            socket.Connect(serverEP);
            
            int bytesSend = 0;

            do
            {
                bytesSend = socket.Send(buffer, 0, buffer.Length, SocketFlags.None);
            }
                while(bytesSend < buffer.Length);

            buffer = new byte[1024];

            int bytesRec = 0;

            bytesRec = socket.Receive(buffer, 0, 1024, SocketFlags.None);

            txtLog.AppendText(Encoding.ASCII.GetString(buffer, 0, bytesRec) + "\r\n");


Heel snel in elkaar gedrukt, ik krijg iig een responce, maar heb geen server waar ik in kan kijken of het werkt. Maar werkt hier dus verder perfect. Dit is alleen wel MOH:AA, maar las op wat anderen fora's dat dat geen verschil maakt, alleen in poorten. Je moet niet de gameport hebben, maar de anderen poort.

edit:
Dubbel post, had edit moeten doen!

[ Voor 5% gewijzigd door pjvandesande op 12-08-2004 23:32 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 14:36

gorgi_19

Kruimeltjes zijn weer op :9

Dit gaat op deze manier een eindeloos topic worden vanaf dit beginpunt. De basis van alles: "Debuggen". Wat je nu doet
code:
1
2
3
4
5
Probeer
   Stuk code
Indien fout
   Zeg tegen mij "Fout gevonden"
Einde probeer

Je runt je code en je krijgt terug: "Fout gevonden". En nu de vraag: Wat heb je aan deze informatie? Niets. :) Je wilt namelijk de eigenlijke exception hebben, maar deze heb je netjes verstopt. Oftewel: de exception throw'en of de try-catch blokken wegslopen.

Vervolgens krijg je een foutmelding waarmee je wat kan en waarmee je gericht kan debuggen. Via Google op de foutmelding en evt in de PW-FAQ moet je verder wel eea kunnen vinden over debuggen.

Vandaar: dicht :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.