Fehler bei Lokaler Instalation von Browsergame

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Fehler bei Lokaler Instalation von Browsergame

Postby Der_Kevin » 21. December 2009 00:41

Hallo.

zuerst möchte ich erwähnen, dass ich gerade erst in das Thema Apache Server und XAMPP eingestiegen bin und das hier warscheinelich eine Ziemlicher Anfänger Thread ist. Deswegen möchte ich mich jetzt schon einmal für eventuelle "N00b" Fragen entschuldinge.

Und nun: zu meinem Problem.
Ich beschäftige mich gerade mit dem Thema Browsergames und wollte mir mal das Open Source Browsergame http://zwischenwelt.org/ ansehen und eine Lokale Version mittels XAMP auf meinem PC instalieren

eigentlich bin ich der meinung das ich alle Punkte, die in der Instelationshilfe -> http://209.85.129.132/search?q=cache:Kj_o3AXmfFIJ:zwischenwelt.milchkind.net/zwwiki/index.php/Installation+zwischenwelt+xxamp&cd=1&hl=de&ct=clnk&gl=de&client=opera stehen, abgearbeitet habe. Dennoch funktioniert hier gerade überhauptnichts

meine defines.mysql sieht folgendermaßen aus
Code: Select all
<?php
define("MYSQL_HOST","localhost");
define("MYSQL_USER","root");
define("MYSQL_PASS","metallica1");
define("MYSQL_DB","zw");
define("BASEPATH","/some/where/zw/");   // under windoze something like "C:\\some\\where\\zw\\"
define("PHP_ERROR_LOG_MAIL","admin@localhost");
define("kGfxServerPath","http://localhost/gfx/");
define("kStyleServerPath","http://localhost/");
define("kMapCodePass","");
define("PAGELAYOUT",1);
define("BASEURL","http://localhost/");
define("ZW_MAIL_SENDER","zwischenwelt@localhost"); // anmelde und passwort vergessen mails haben diese addy als absender
define("ZW_NEWREGISTRATION_NOTIFY",false); // wenn das hier auf nicht false gesetzt wird, wird an diese mail adresse eine nachricht geschickt, wenn sich ein neuer spieler anmeldet
// define("ZW_NEWREGISTRATION_NOTIFY",ZW_MAIL_SENDER);

// wenn showlink true ist, dann wird der bestätigungslink für die anmeldung direkt angezeigt.
// wenn man fertig mit debuggen und testen ist, sollte man dies auf false stellen.
define("ZW_NEWREGISTRATION_SHOWLINK",true);
?>


das zw verzwichniss liegt bei mir unter C:\xampp\htdocs\zw und die sql datenbank habe ich zw genannt und auch mittels phpmyadmin importiert. Apache und Mysql habe ich auch in der XAMPP Control Panel gestartet.

zuerst habe ich die sql/db.sql ohne probleme importiert und dann die sql/update-6to7.sql doch dort erschien der fehler
Code: Select all
Fehler

SQL-Befehl:

ALTER TABLE `buildingtype` ADD `maxgfxlevel` INT UNSIGNED DEFAULT '1' NOT NULL ,
ADD `maxrandcenter` INT UNSIGNED DEFAULT '0' NOT NULL ,
ADD `maxrandborder` INT UNSIGNED DEFAULT '0' NOT NULL ;


MySQL meldet: 
#1060 - Duplicate column name 'maxgfxlevel'


und wenn ich nun die 3 Befehle in die Kommandozeile eingebe erscheinen Folgende Fehlermeldungen
bei
mysql --execute="create database zw;
Code: Select all
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql --execute="create database zw' at line 1

bei
mysql zw < db.sql
Code: Select all
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql zw < db.sql' at line 1

und bei
mysql zw < update-6to7.sql
Code: Select all
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql zw < update-6to7.sql' at line 1



wenn ich nun die setup.php starte, steht folgendes drinne
Code: Select all
<?php

require("lib.setup.php");

CheckStart();

CheckRequired("FileExists","Configfile 'defines.mysql.php' exists",array("name"=>"defines.mysql.php"));
include("defines.mysql.php");
CheckRequired("FileExists","BASEPATH '".BASEPATH."' exists",array("name"=>BASEPATH));
CheckRequired("FileExists","with an tmp directory",array("name"=>BASEPATH."/tmp"));
CheckRequired("Writeable","that is writeable",array("name"=>BASEPATH."/tmp"));
CheckRequired("EregMatch","BASEPATH with trailing /",array("subject"=>BASEPATH,"pattern"=>'^.+(/|\\\\)$'));
CheckRequired("EregNotMatch","BASEPATH is not an url",array("subject"=>BASEPATH,"pattern"=>CHECK_PATTERN_HTTP));
CheckRequired("EregMatch","kGfxServerPath is an url",array("subject"=>kGfxServerPath,"pattern"=>CHECK_PATTERN_HTTP));
CheckRequired("EregMatch","kStyleServerPath is an url",array("subject"=>kStyleServerPath,"pattern"=>CHECK_PATTERN_HTTP));
CheckRequired("EregMatch","BASEURL is an url",array("subject"=>BASEURL,"pattern"=>'^http://.+$'));
CheckOptional("FileExists","sql error logfile exists",array("name"=>BASEPATH."/sqlerror.log"));
CheckOptional("Writeable","and is writeable",array("name"=>BASEPATH."/sqlerror.log"));
CheckRequired("MysqlAccess","mysql access",array("host"=>MYSQL_HOST,"user"=>MYSQL_USER,"pass"=>MYSQL_PASS));
CheckRequired("MysqlExistsDB","mysql db '".MYSQL_DB."' exists",array("host"=>MYSQL_HOST,"user"=>MYSQL_USER,"pass"=>MYSQL_PASS,"db"=>MYSQL_DB));
CheckRequired("MysqlValidQuery","mysql table 'user' exists",array("host"=>MYSQL_HOST,"user"=>MYSQL_USER,"pass"=>MYSQL_PASS,"db"=>MYSQL_DB,"query"=>"SELECT * FROM `user` LIMIT 1"));
CheckRequired("FunctionExists","function existance check for testing purpose",array("name"=>"system"));
CheckOptional("CmdExists","gnuplot",array("name"=>"gnuplot --version"));
CheckOptional("CmdExists","imagemagick",array("name"=>"convert -version"));

CheckStop();

?>


vielleicht gibt das ja aufschluss über den fehler



wenn ich nun die index.php starte steht im oberen teil

Code: Select all
Bitte den Installationsanweisungen in der Datei INSTALL folgen,
und eine Kopie von defines.mysql.php.dist names defines.mysql.php anlegen.
Dort müssen dann die Zugansdaten und Pfade eingetragen werden.
Wegen eines LIVE-UPDATES ist ein Login derzeit leider nicht möglich,
wir versuchen die Arbeiten so schnell wie möglich abzuschliessen

vielen Dank für euer Verständnis
das zwischenwelt-team


und ein paar zeilen tiefer
Code: Select all
ChangeLog
"; } $i = 0; foreach($l as $d=>$t){++$i; ?>
5)break;} ?>


ausserdem steht in der anmelden php

Code: Select all
Anmeldung
= 6 && $f_pass1 == $f_pass2) { if(isset($f_name)) { $f_name = addslashes(trim($f_name)); if(ereg('^[a-zA-Z][a-zA-Z0-9 \.-]+$',$f_name) === FALSE)$errstr .= "Der Name enthält ung&uumlml;ltige Zeichen. Namen müssen mit Buchstaben beginnen und bestehen nahezu nur aus Buchstaben.
"; } else $errstr .= 'Bitte einen Loginnamen angeben.
'; if(strpos($f_mail,'@') && strpos($f_mail,'.')) $f_mail = addslashes($f_mail); else $errstr .= 'Bitte eine gütige E-Mailadresse angeben.
'; $f_from = addslashes($f_from); $f_text = addslashes($f_text); // TODO : unhardcode passlen if((strlen($f_pass1) >= 6) && ($f_pass1 == $f_pass2)) $f_pass = $f_pass1; else $errstr .= 'Das Passwort muss mindestens 6 Zeichen lang sein und im Bestätigungsfeld wiederholt werden.
'; if ($errstr == '' && $spam == false) { $r = sql("SELECT `id` FROM `user` WHERE `name`='$f_name' OR `mail`='$f_mail'"); if(mysql_num_rows($r)) { echo "
Sorry, den Usernamen oder die Mailadresse gibt es leider schon.
"; } else { $r = sql("SELECT `name` FROM `pending` WHERE `name`='$f_name' OR `mail`='$f_mail'"); if(mysql_num_rows($r)) { echo "
Sorry, unter dem Usernamen oder der Mailadresse hat sich schon jemand angemeldet.
"; } else { $time = time(); $ip = $_SERVER["REMOTE_ADDR"]; $key = md5("INSERT INTO `pending` SET `time`=$time,`ip`='$ip',`mail`='$f_mail',`name`='$f_name',`pass`='$f_pass',`key`='$key',`from`='$f_from',`text`='$f_text'"); $newpending = false; $newpending->ip = $ip; $newpending->key = $key; $newpending->time = $time; $newpending->mail = $f_mail; $newpending->name = $f_name; $newpending->from = $f_from; $newpending->text = $f_text; sql("INSERT INTO `pending` SET ".obj2sql($newpending)." , `pass`=PASSWORD('".addslashes($f_pass)."')"); mail($f_mail, "Zwischenwelt Registratur", "Um den Account freizuschalten bitte folgenden Link aufrufen: ".BASEURL."anmelden.php?key=$key","From: ".ZW_MAIL_SENDER."\r\nReply-To: ".ZW_MAIL_SENDER."\r\nX-Mailer: PHP/" . phpversion()); if (ZW_NEWREGISTRATION_NOTIFY) mail(ZW_NEWREGISTRATION_NOTIFY,"neue Anmeldung","name=$f_name\nmail=$f_mail\nfrom=$f_from\ntext=$f_text","From: ".ZW_MAIL_SENDER."\r\nReply-To: ".ZW_MAIL_SENDER."\r\nX-Mailer: PHP/" . phpversion()); echo '
Es hat geklappt, sie haben Post :).
Manchmal kann es mit dem Mails etwas dauern, also keine Panik.
'; if(ZW_NEWREGISTRATION_SHOWLINK){ echo '
Um den Account freizuschalten, hier klicken.
'; } include("footer.php"); exit; } } } else echo '

Es sind Fehler aufgetreten:
'.$errstr.'
'; } else if(isset($f_key)) { $f_key = addslashes($f_key); $r = sql("SELECT * FROM `pending` WHERE `key`='$f_key' LIMIT 1"); if($row = mysql_fetch_array($r)) { $sr = $gGlobal["store"]; $newuser = false; $newuser->max_lumber = $sr; $newuser->lumber = $sr; $newuser->max_stone = $sr; $newuser->stone = $sr; $newuser->max_food = $sr; $newuser->food = $sr; $newuser->max_metal = $sr; $newuser->metal = $sr; $newuser->color = sprintf("#%02X%02X%02X",rand(0,255),rand(0,255),rand(0,255)); $newuser->name = $row["name"]; $newuser->pass = $row["pass"]; // already encrypted in pending $newuser->mail = $row["mail"]; $newuser->registered = time(); $newuser->guild = kGuild_Weltbank; // weltbankgild //fud forum user import hack $u = $newuser; /* $fu = sqlgetobject("SELECT * FROM `fudforum`.`fud26_users` WHERE `login` like '".addslashes($u->name)."' OR `email` like '".addslashes($u->mail)."'"); if(!$fu){ $fu = null; $fu->login = $u->name; $fu->alias = $fu->login; $fu->email = $u->mail; $fu->join_date = ($u->registered>0?$u->registered:time()); $fu->time_zone = "Europe/Berlin"; $fu->passwd = $u->pass; $fu->name = $fu->login; $fu->users_opt = 4357111; // todo : unhardcode sql("INSERT INTO `fudforum`.`fud26_users` SET ".obj2sql($fu)); }*/ $newuser->guildstatus = sqlgetone("SELECT `stdstatus` FROM `guild` WHERE `id`=".intval(kGuild_Weltbank)); sql("INSERT INTO `user` SET ".obj2sql($newuser)); $newuserid = mysql_insert_id(); //set a hq at a random position list($x,$y) = FindRandomStartplace(); $o = null; $o->user = $newuserid; $o->type = 1; $o->hp = 5000; $o->x = $x; $o->y = $y; sql("INSERT INTO `building` SET ".obj2sql($o)); sql("DELETE FROM `pending` WHERE `key`='$f_key'"); echo "
Alles ok, der Account ist nun freigeschaltet. Sie können sich nun einloggen.
"; include("footer.php"); exit; /* addDirectory($newuserid,"root",0); $id = sqlgetone("SELECT id from message where `subject` = 'root' AND `unread` = '-1' AND `from` = '".$newuserid."' "); addDirectory($newuserid,"SEND",$id); */ createFolder("Eingang",0,$newuserid,kFolderTypeRoot); createFolder("Ausgang",0,$newuserid,kFolderTypeSent); createFolder("Berichte",0,$newuserid,kFolderTypeExtra); /*$text="So meine lieben Kinder,

Ihr seid nun alle in dieser grossen Gilde gelandet, da ihr alle noch recht klein seid.........



Gut... das war alles an Informationen die ich für Wichtig halte.
Ich sag jetzt schonmal danke für jede Hilfe
und entschuldingung für alle geraubten nerven ;)

Gruß
Kevin
Der_Kevin
 
Posts: 6
Joined: 21. December 2009 00:05

Re: Fehler bei Lokaler Instalation von Browsergame

Postby Wiedmann » 21. December 2009 01:03

und wenn ich nun die 3 Befehle in die Kommandozeile eingebe erscheinen Folgende Fehlermeldungen

In welcher Kommandozeile gibst du diese Befehle denn ein?
Oder anders, bei den geposteten Befehlen darf der Kommandozeilenclient "mysql" noch nicht gestartet sein.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Fehler bei Lokaler Instalation von Browsergame

Postby Der_Kevin » 21. December 2009 01:25

Wiedmann wrote:
und wenn ich nun die 3 Befehle in die Kommandozeile eingebe erscheinen Folgende Fehlermeldungen

In welcher Kommandozeile gibst du diese Befehle denn ein?
Oder anders, bei den geposteten Befehlen darf der Kommandozeilenclient "mysql" noch nicht gestartet sein.


im phpadmin -> dann auf die zw datenbank geklickt und dann im oberen reiter auf SQL geklickt

also erst in der control panel mysql ausschalten?
Der_Kevin
 
Posts: 6
Joined: 21. December 2009 00:05

Re: Fehler bei Lokaler Instalation von Browsergame

Postby Wiedmann » 21. December 2009 09:52

im phpadmin

Dann bist du falsch. So wie die Befehle oben gepostet sind, muss man diese in der Kommadozeile (Eingabeaufforderung / XAMPP Shell) eingeben.
("mysql" ist dabei ja z.B. der Programmname "mysql.exe".)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Fehler bei Lokaler Instalation von Browsergame

Postby Der_Kevin » 21. December 2009 11:23

ah ok.
ich habe gerade den befehl in die shell (control panel -> rechts oben shell) eingegeben und erhalte nun folgende fehlermeldung

Setting environment for using XAMPP for Windows.

####@####-PC C:\xampp
# mysql --execute="create database zw;"
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: N
O)


Setting environment for using XAMPP for Windows.
Der_Kevin
 
Posts: 6
Joined: 21. December 2009 00:05

Re: Fehler bei Lokaler Instalation von Browsergame

Postby Wiedmann » 21. December 2009 11:59

ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)

"mysql" kennt z.B. die Parameter "--user=..." oder "--password=..." die man entsprechend deinem System setzten muss.

http://dev.mysql.com/doc/refman/5.1/en/mysql-command-options.html
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Fehler bei Lokaler Instalation von Browsergame

Postby Der_Kevin » 21. December 2009 12:33

ok

ich habe gerade beide schreibweisen mysql -p und mysql --password versucht und bei beiden dann die passwort eingabeaufforderung erhalten und mein passwort eingeben... wieder der gleiche fehler
auch in der phpmyadmin config ist das passwort richtig eingetragen
Der_Kevin
 
Posts: 6
Joined: 21. December 2009 00:05

Re: Fehler bei Lokaler Instalation von Browsergame

Postby Wiedmann » 21. December 2009 12:39

ich habe mysql -p und mysql --password versucht und bei beiden dann die passwort eingabeaufforderung erhalten und mein passwort eingeben... wieder der gleiche fehler

Du musst halt eben auch einen User mit angeben, den dein Server kennt (und zu dem das benutzte Passwort gehört).
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Fehler bei Lokaler Instalation von Browsergame

Postby Der_Kevin » 21. December 2009 13:30

ok. danke erstmal
hat alles geklappt. auch die ganzen befehle.

aber es läuft immer noch nichts :(
in der datenbank schein ja alles ok zu sein (zumindest sind da jetzt eine ganze menge daten drinn) aber vielleicht liegt der fehler in der configurations datei defines.mysql
Code: Select all
<?php
define("MYSQL_HOST","localhost");
define("MYSQL_USER","root");
define

("MYSQL_PASS","metallica1");
define("MYSQL_DB","zw");
define("BASEPATH","C:\xampp\htdocs\zw");

  // under windoze something like "C:\\some\\where\\zw\\"
define

("PHP_ERROR_LOG_MAIL","admin@localhost");
define("kGfxServerPath","C:\xampp\htdocs\zw\gfx\");
define("kStyleServerPath","C:\xampp\htdocs\zw\");
define("kMapCodePass","");
define

("PAGELAYOUT",1);
define("BASEURL","http://localhost/");
define

("ZW_MAIL_SENDER","zwischenwelt@localhost"); // anmelde und passwort vergessen mails haben

diese addy als absender
define("ZW_NEWREGISTRATION_NOTIFY",false); // wenn das hier auf nicht

false gesetzt wird, wird an diese mail adresse eine nachricht geschickt, wenn sich ein neuer

spieler anmeldet
// define("ZW_NEWREGISTRATION_NOTIFY",ZW_MAIL_SENDER);

// wenn showlink true

ist, dann wird der bestätigungslink für die anmeldung direkt angezeigt.
// wenn man fertig mit

debuggen und testen ist, sollte man dies auf false stellen.
define

("ZW_NEWREGISTRATION_SHOWLINK",true);
?>
Der_Kevin
 
Posts: 6
Joined: 21. December 2009 00:05

Re: Fehler bei Lokaler Instalation von Browsergame

Postby Altrea » 21. December 2009 13:42

Du weißt aber schon, dass das hier das Support-Forum des XAMPP-Pakets ist und nicht von zwischenwelt.org? ^^
Es gibt hier zwar einige Leute, die sich gut mit PHP auskennen und auch bei Offtopic ab und an mal gerne helfen, dennoch sind manche Fragen an anderer Stelle besser aufgehoben. Die Browsergameersteller/-nutzer kennen ihr Script um längen besser als dies hier der Fall sein kann.

Die beste Art Hilfe zu bekommen ist, das Problem möglichst genau zu beschreiben.
"aber es läuft immer noch nichts" sagt relativ wenig aus.

Welche Aktion hast du ausgeführt?
Welches Ergebnis hast du erwartet?
Welches Ergebnis ist eingetreten?
Gibt es irgendwelche Fehlermeldungen, die ausgegeben werden?

Läuft der Apache und Mysql wieder? (wie ich gelesen hatte musstest du für die Kommandozeileneingaben diesen ja abschalten)
Die Zeilenumbrüche in deinem Codeausschnitt sehen auch sehr seltsam aus. Sind die in der Datei auch so?
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: Fehler bei Lokaler Instalation von Browsergame

Postby Der_Kevin » 21. December 2009 21:48

ok. tut mir leid.
ich habe die ganze geschichte mal einem bekannten gezeigt und er meinte die sql datenband ist soweit in ordnung. was aber nicht so ganz io aussieht, ist der pfad in der config datei da weder irgendwelche grafiken noch css formatierungen agezeigt werden, wenn die index.php geöffnet wird. zzt. sieht die index.php so aus: http://img191.imageshack.us/gal.php?g=screen1em.jpg
die betreffenden zeilen sind diese hier:

Code: Select all
define("BASEPATH","http://localhost/"); 
define("kGfxServerPath","http://localhost/gfx");
define("kStyleServerPath","http://localhost/");


welchen pfad muss ich denn eingeben, wenn die daten unter C:\xampp\htdocs\zw liegen?
Der_Kevin
 
Posts: 6
Joined: 21. December 2009 00:05


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 38 guests