Seite 1 von 1

die sphere_web.scp und einige Fragen

Verfasst: 09 Okt 2005 19:53
von regstar
Hallo...

Ich habe bezüglich der Möglichkeiten in der sphere_web.scp einige Fragen.
Wie kann ich das realisieren, dass ich z.b. über diese Datei, einen Worldsave machen kann, oder den Server Resyncen, einen Acc Blocken, Jailen oder sonst etwas.

Ich habe einmal bischen herumprobiret und habe folgendes einfach mal gebastelt:

commands.htm

Code: Alles auswählen

<html>
<body>
<form action="commands.htm" method="post">
<input type="hidden" name="VTI-GROUP" value="0">
<input  type="submit" value="TestButton" name="B1">
</form>
So sieht meine commands.htm im "webpages" Ordner unter Scripts aus. Nun der Eintrag in der sphere_web.scp:

Code: Alles auswählen

[WEBPAGE w_commands]
WEBPAGESRC=scripts\webpages\commands.htm

ON=1
src.login SphereBot xxx //xxx is das pw
serv.b Test Broadcast 
src.logout SphereBot xxx
return 1
Normalerweise so wie ich das aus den anderen files rausgelesen habe, sollte er nun wenn ich auf den Button Clicke, sich als SphereBot anmelden, und den Befehl an den SphereSever senden, macht er aber nicht.

Ich habe es auch ohne den Acc Bot versucht, leider keine Ergebnisse.

Ich hoffe es können mir einige Tipps geben, später mache ich das in PHP.

MFG
Regstar

Verfasst: 10 Okt 2005 18:50
von Aglarthiel
Nim dir Perl, connecte mit Telnet und mach dir ne Oberfläche mit HTML -> fertig. So und nicht anders habe ich mein Webinterface gestrickt und das läuft Sahne.

Verfasst: 10 Okt 2005 20:57
von regstar
Perl kann ich nicht, muss ich zugeben. Gibt es eine andere Methode?

Verfasst: 11 Okt 2005 12:42
von Sirius
Mit PHP geht's sicher auch, ist für viele einfacher zu lernen als Pearl.

Um eine von den beiden Sprachen kommste wohl nicht drumrum wenn du's via Webinterface machen willst

Verfasst: 12 Okt 2005 03:41
von regstar
Das mit dem PHP ist kein Problem *deutet oben auf ersten Thread* nur ich weiss net wie ich da vorgehen kann, weil ich dafür net wirklich die Technik von Sphere kenne, und net weiss welche Möglichkeiten ich da habe.

Deshalb hatte ich mir ja mal etwas rausgesucht... *deut oben*

Vielleicht kann mit da einer mehr tipps als "mach das mit der und der Sprache". geben

Verfasst: 12 Okt 2005 15:11
von Sirius
Ich kenn mich mit PHP nur rudimentär aus, aber theoretisch müsstest du doch damit auch ne Telnetverbindung aufbauen können. Dann brauchst du nur eine mit dem sphereserver aufbauen und dann die Befehle übergeben.
Schau mal hier: http://www.google.com/search?q=telnet+s ... p.net&l=de
Da findest einiges darüber

Verfasst: 12 Okt 2005 15:18
von regstar
Nunja, das über Telnet ist so seine Sache. Ich möchte ungerne den Telnet Dienst starten, da es sich um ein Windows Serber handelt. Deshalb dachte ich, man könne über die Sphere Eigene Funktion befehle an den Server senden. Wie z.b. den InGame Vefehl .save etc

MFG

Verfasst: 12 Okt 2005 15:34
von Torfo
Sphere bietet einen eigenen Telnet Server. Den erreichst du durch Eingabe von "telnet server.ip port" in deiner Betriebssystem Konsole, unter Windows lässt die sich mit "cmd" unter "Auführen" starten. Nachdem die Verbindung steht musst du dich bei Sphere einloggen, dazu schickst du als erstes ein Leerzeichen, danach je nach Version entweder das Passwort von Acc "RemoteAdmin" oder du kannst dich mit einem beliebigen Owner Account einloggen. Wenn du eingeloggt bist, hast du quasi die normale Sphere-Konsole vor dir, mit ? erhällst du eine Liste der möglichen Befehle...

Das beschriebene Verfahren lässt sich mit nahezu jeder Programmiersprache automatisieren und dann für allen möglichen Schnickschnack nutzen, Save, Resync, Accounts erstellen und all sowas ist dann kein Problem mehr.

Was ich sagen wollte: Du brauchst keinen extra "Telnet Dienst" starten :)

Verfasst: 14 Okt 2005 03:01
von regstar
Okay danke...werde ich einmal ausprobieren

*Edit*

Habe nun das gemacht, klappt alles wunderbar, nur das der Server beim resync nene freez macht, und ich muss in die Hauptkonsole. Das ist nicht schön, weils dann genau das selbe bei der Automatisierung so ist. Gibst da was zu basteln?

Verfasst: 14 Okt 2005 09:42
von Tantarius
Welche Sphere version benutz du?
bei der 402 ist das ein bekannter Bug das sich der resysn über telnet "aufhängt"
Er nimmt das erste "r" an aber das 2 nicht mehr um den resysn zu beenden.

Verfasst: 16 Okt 2005 13:21
von Sirius
das Prob kenn ich seit der Version 55i, einige Server habens, andere nicht. Is ne komische Sache. Dagegen kann man aber glaub ich nichts machen. Du kannst nur ein Workaround verwenden: Statt nem resync machst du einfach "load Verzeichnis_mit_Script\scriptname.scp". Musst in deiner HTML-Oberfläche dann praktisch ein Eingabefeld für den scriptpfad machen.

Verfasst: 19 Okt 2005 03:40
von regstar
Ja das ist so die Art die ich mache, nur das komischerweise wenn ich ein verz angebe er meint " gibbet net " ...

Aber dennich danke für die Hilfe

Verfasst: 19 Okt 2005 10:19
von Sirius
du darsftdas Verzeichnis nicht mit vollem Verzeichnispfad angeben, sondern immer ausgehend vom sphere-root.

Liegt dein Sphere also z.B. unter c:\sphere\ und dein Script unter c:\sphere\scripts\scriptname.scp darf der load Befehl nur so aussehn: load scripts\scriptname.scp
Wobei ich jetzt nicht genau weiss ob / oder \, ich glaub es geht beides.

Verfasst: 19 Okt 2005 14:26
von regstar
ARR... ja kla... ich hab nicht darauf geachtet... Ich befinde mich bei der Konsole im Root, stimmt, ich hab immer das "scripts" vergessen, jedoch frage ich mich...

warum load test.scp funktionier...

Also es geht:

load scripts/test/test.scp

oder wenn es sich direckt in scripts befindet einfach

load test.scp

Danke für den hinweis ! Dann kann ich das auch per PHP so scripten, dass ich auf dem Server angebe welche Datei hinzugefügt worden ist und das er den befehl, load + verzeichnis durchführt. Das sollte alles wunderbar klappen, vielen Dank!