die sphere_web.scp und einige Fragen

Moderator: Mods - Sphere

Antworten
Nachricht
Autor
regstar

die sphere_web.scp und einige Fragen

#1 Beitrag von regstar » 09 Okt 2005 19:53

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

Aglarthiel

#2 Beitrag von Aglarthiel » 10 Okt 2005 18:50

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.

regstar

#3 Beitrag von regstar » 10 Okt 2005 20:57

Perl kann ich nicht, muss ich zugeben. Gibt es eine andere Methode?

Sirius
Administrator
Beiträge: 713
Registriert: 07 Feb 2004 17:17
Kontaktdaten:

#4 Beitrag von Sirius » 11 Okt 2005 12:42

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
-
--> No Signature <--
---

regstar

#5 Beitrag von regstar » 12 Okt 2005 03:41

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

Sirius
Administrator
Beiträge: 713
Registriert: 07 Feb 2004 17:17
Kontaktdaten:

#6 Beitrag von Sirius » 12 Okt 2005 15:11

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
-
--> No Signature <--
---

regstar

#7 Beitrag von regstar » 12 Okt 2005 15:18

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

Benutzeravatar
Torfo
Moderator (Sphere)
Beiträge: 828
Registriert: 13 Jan 2004 12:00
Kontaktdaten:

#8 Beitrag von Torfo » 12 Okt 2005 15:34

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 :)
Bild

regstar

#9 Beitrag von regstar » 14 Okt 2005 03:01

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?

Benutzeravatar
Tantarius
Silber Mitglied
Beiträge: 338
Registriert: 19 Jan 2004 11:48
Wohnort: In den Wolken von Aba'Lysien
Kontaktdaten:

#10 Beitrag von Tantarius » 14 Okt 2005 09:42

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.
Stony hat geschrieben:ich rede und rede, aber keine hört mir zu..

Sirius
Administrator
Beiträge: 713
Registriert: 07 Feb 2004 17:17
Kontaktdaten:

#11 Beitrag von Sirius » 16 Okt 2005 13:21

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.
-
--> No Signature <--
---

regstar

#12 Beitrag von regstar » 19 Okt 2005 03:40

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

Sirius
Administrator
Beiträge: 713
Registriert: 07 Feb 2004 17:17
Kontaktdaten:

#13 Beitrag von Sirius » 19 Okt 2005 10:19

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.
-
--> No Signature <--
---

regstar

#14 Beitrag von regstar » 19 Okt 2005 14:26

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!

Antworten