Announcement

Collapse
No announcement yet.

Fehler bei Lokaler Instalation von Browsergame

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehler bei Lokaler Instalation von Browsergame

    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...e&client=opera stehen, abgearbeitet habe. Dennoch funktioniert hier gerade überhauptnichts

    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:
    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'

    wenn ich nun die setup.php starte, steht folgendes drinne
    Code:
    <<?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:
    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:
    ChangeLog
    "; } $i = 0; foreach($l as $d=>$t){++$i; ?> 
    5)break;} ?>
    ausserdem steht in der anmelden php

    Code:
    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

  • #2
    und: meine defines.mysql... also die configurationsdatei sieht folgendermaßen aus:

    Code:
    <?php
    define("MYSQL_HOST","localhost");
    define("MYSQL_USER","root");
    define
    
    ("MYSQL_PASS","xxx");
    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);
    ?>
    Zuletzt editiert von Falk Prüfer; 21.12.2009, 15:00. Reason: Klartextpasswort entfernt

    Comment


    • #3
      Originally posted by Der Kevin View Post
      ...zuerst habe ich die sql/db.sql ohne probleme importiert und dann die sql/update-6to7.sql doch dort erschien der fehler
      Code:
      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'
      Dann brauchst du wohl das Update von 6 auf 7 nicht ausführen. Die Meldung besagt ja, dass das Feld in der Tabelle schon existiert.

      Originally posted by Der Kevin View Post
      ...
      wenn ich nun die setup.php starte, steht folgendes drinne
      Was meinst du mit starten? Bekommst du den Quellcode angezeigt wenn du die setup.php über den Browser aufrufst? Wie sieht die URL aus die du für den lokalen Aufruf verwendest?

      Bitte ordne erstmal was du Fragen möchtest und Beschreibe wo genau dein Problem liegt, bevor du hier tonnenweise Quelcode postest.
      Und bitte poste deine Passwörter nicht mit.

      Gruß Falk
      Zuletzt editiert von Falk Prüfer; 21.12.2009, 15:04.
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment


      • #4
        Originally posted by Falk Prüfer View Post
        Dann brauchst du wohl das Update von 6 auf 7 nicht ausführen. Die Meldung besagt ja, dass das Feld in der Tabelle schon existiert.
        ah ok... klingt ja schonmal gut, dass das kein fehler ist

        Originally posted by Falk Prüfer View Post
        Was meinst du mit starten? Bekommst du den Quellcode angezeigt wenn du die setup.php über den Browser aufrufst? Wie sieht die URL aus die du für den lokalen Aufruf verwendest?

        Bitte ordne erstmal was du Fragen möchtest und Beschreibe wo genau dein Problem liegt, bevor du hier tonnenweise Quelcode postest.
        Und bitte poste deine Passwörter nicht mit.

        Gruß Falk
        genau. das ist der text wenn ich die setup.php im browser öffne
        die url von der setup php sieht folgendermaßen aus
        file://localhost/C:/xampp/htdocs/zw/setup.php

        Ok. enschuldige bitte. ich dachte ich poste mal alles was zur lösung des problems beitragen kann

        ich denke das problem liegt darin das keine verbindung zur datenbank hergestellt wird und/oder der fehler in der defines.mysql begraben liegt.

        da ich auch beim öffnen der index.php weder grafiken noch die andordnung der css datei sehe
        ich habe mal bei imageshack 2 bilder hochgeladen -> http://img191.imageshack.us/gal.php?g=screen1em.jpg

        PS: danke fürs passwort löschen

        edit: ich sehe gerade, dass die Installationsanleitung nicht funktioniert.
        deswegen:
        http://www.google.de/search?client=o...utf-8&oe=utf-8 -> das erste ergebniss und dann auf "Im Cache" drücken.
        Zuletzt editiert von Der Kevin; 21.12.2009, 18:46.

        Comment


        • #5
          Hallo,
          Originally posted by Der Kevin View Post
          ...ich denke das problem liegt darin das keine verbindung zur datenbank hergestellt wird und/oder der fehler in der defines.mysql begraben liegt.
          Nein, da denkst du falsch! Das Problem ist:
          Originally posted by Der Kevin View Post
          ...file://localhost/C:/xampp/htdocs/zw/setup.php
          das du mit dieser URL das Script nicht über den Webserver abrufst und somit kein PHP interpretiert wird.
          Wenn du keinen Virtuellen Server für die Seite eingerichtet hast, dann sollte die lokale URL eher so aussehen: http://localhost/zw/setup.php.

          Gruß Falk
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment


          • #6
            ahhha... wieder was dazugelernt.
            ok.. jetzt steht folgendes in der setup.php

            Code:
            Configfile 'defines.mysql.php' exists ... 	ok
            BASEPATH 'http://localhost/zw/' exists ... 	failed [file not found]
            with an tmp directory ... 	                        failed [file not found]
            that is writeable ... 	                                    failed [file not found]
            BASEPATH with trailing / ... 	                        ok
            BASEPATH is not an url ... 	                        failed ['http://localhost/zw/' matches '^http://.+$' but should not]
            kGfxServerPath is an url ... 	                       ok
            kStyleServerPath is an url ... 	                       ok
            BASEURL is an url ... 	                                   ok
            sql error logfile exists ...                                 failed [file not found]
            and is writeable ... 	                                   failed [file not found]
            mysql access ... 	                                   ok
            mysql db 'zw' exists ... 	                       ok
            mysql table 'user' exists ... 	                       ok
            function existance check for testing purpose ... 	ok
            gnuplot ... 	                                               failed [no output [1]: ]
            imagemagick ... 	                                   failed [no output [4]: ]
            also stimmt der pfad wieder nicht... aber http://localhost/zw/ existiert! wenn ich den pfad im browser eingebe komme ich zur index.php mit der fehlermeldung

            Code:
            Parse error: syntax error, unexpected '}' in C:\xampp\htdocs\zw\lib.php on line 275
            Zuletzt editiert von Der Kevin; 22.12.2009, 15:43.

            Comment


            • #7
              Hallo,

              dir ist offensichtlich der Unterschied zwischen Serverpfaden und URLs nicht ganz klar. Die absoluten (oder relativen) Serverpfade werden benötigt, damit die Scripte wissen wo genau was auf der PLATTE des Servers zu finden ist.

              Das define für BASEPATH sollte also schon ein physischer Pfad auf der Festplatte sein, auf den der Webserver über das BS zugreifen kann. Also wahrscheinlich "C:\xampp\htdocs\zw\".
              Nur das define für BASEURL sollte dann auch eine URL (wahrscheinlich: http://localhost/zw/) sein.

              Gruß Falk
              Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

              Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

              Comment


              • #8
                Originally posted by Der Kevin View Post
                ...wenn ich den pfad im browser eingebe komme ich zur index.php mit der fehlermeldung

                Code:
                Parse error: syntax error, unexpected '}' in C:\xampp\htdocs\zw\lib.php on line 275
                Das ist ein handfester Programmier(Syntax)fehler. Spricht nicht gerade für die Qualität des Scriptes. Da solltest du dich mal an den Scriptschreiber wenden.

                Gruß Falk
                Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                Comment

                Working...
                X