Wysyłanie komend na serwer CS przez PHP
sebxx4 24.07.2013
Witajcie.
Pisząc mój skrypt dochodzę do momentu, kiedy nawet google milczy w mojej sprawie. Mianowicie chodzi o wysyłanie komend na serwer cs 1.6 ze strony www, dokładniej przez skrypt PHP. Udało mi się zrobić skrypt wysyłający komendy RCON (poniżej wraz z biblioteką), ale nie bardzo wiem jak zmusić go do wysyłania 'zwykłych' komend. Przykładowo komenda changelevel de_dust2 działa bez problemu, mapa się zmienia. Ale gdy chcę już użyć komendy silnika BF2 bf2_addbadge <gracz> <odznaka> <level> (dodawanie odznak graczom) to skrypt przestaje działać. Tzn nie 'wypluwa' żadnych logów, na serwerze nic się nie dzieje. Ta sama komenda wpisana w konsoli (jako admin) działa normalnie. I teraz pytanie - jak zmusić skrypt do pracy z takimi komendami ?
Skrypt:
<pre> <?php include 'rcon_hl_net.inc'; $nick = '~Sebxx [PL]~'; $class = '4'; $lvl = '3'; $M=new Rcon(); $M->Connect("IP","PORT","RCON"); $ret=$M->RconCommand("bf2_addbadge ".$nick." ".$class." ".$lvl); echo $ret; ?> </pre>
Biblioteka w załączniku (nic nie zmienane w niej).
Załączone pliki
Użytkownik sebxx4 edytował ten post 24.07.2013 20:59
Unstopp
28.07.2013
PHP <3 28.07.2013
echo $ret;
What? Jakie echo tutaj? Do tego, źle to rozpisałeś. Moim zdaniem to powinno wyglądać mniej więcej tak:
<?php include 'rcon_hl_net.inc'; $nick = '~Sebxx [PL]~'; $class = '4'; $lvl = '3'; $M=new Rcon(); $M->Connect("IP","PORT","RCON"); $ret=$M->RconCommand("bf2_addbadge ".$nick." ".$class." ".$lvl.""); ?>
lub:
<?php include 'rcon_hl_net.inc'; $nick = '~Sebxx [PL]~'; $class = '4'; $lvl = '3'; $M=new Rcon(); $M->Connect("IP","PORT","RCON"); $com = "bf2_addbadge $nick"; $com .= $class; $com .= $lvl; $ret=$M->RconCommand($com); ?>
Mogę się mylić bo tak właściwie pierwszy raz się z tym zetknąłem.
sebxx4 29.07.2013
To nie jest cvar, tylko komenda silnika, która nadaje określonemu graczowi określoną odznake (jednorazowo).
Użytkownik sebxx4 edytował ten post 29.07.2013 07:54
DarkGL
29.07.2013
register_clcmd("bf2_addbadge", "add_badge", ADMIN_LEVEL, "<player> <badge#> <level#>");
Komenda jest zarejestrowana ale wywołać można ją tylko z konsoli gracza
register_clcmd - Registers function which will be called from client console.
sebxx4 29.07.2013
MarWit
29.07.2013
Najszybciej pozmieniaj wszystkie register_clcmd na register_concmd, lub dodaj tylko te komendy które potrzebujesz.
Gh0st
07.11.2013
Ten temat został zamknięty przez moderatora.
Powód: Autor tematu zbanowany
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL