[TUT] Battlefield 2 LAN Ranked Server mit Patch 1.50
-
Hallo!
Erstmal Respekt für das Know-How und die Mühe das ganze zu erarbeiten bzw. zu erstellen.
Eine tolle Anleitung finde ich daumenhochIch habe leider beim Start vom bf2-client ein Problem:
'mods/bf2/shaders/staticmesh.fx not found!!! _DO_check your working directory,
AND sync your shaders folder before calling upon your local rendering programmer/GP.(really!)'Ich habe BF2 komplett frisch installiert, auf derm Server, und auf 2 Clients.
+Patch 1.41 und Patch 1.50 (noch ohne Mods oder Ä.)
Auf beiden Clients kommt diese Fehlermeldung.
Sarte ich die BF2.exe ohne die batchdatei, geht alles u. ich kann online gehen.hat jemand einen Tip für mich?
P.S. BF2 ist original vorhanden mit legalen Keys.Danke schon mal für eure Antworten!!! :bye:
-
Hi wowa_k,
probier mal die Batchdatei aus dem Battlefield 2-Ordner zu starten.
Mfg,
Battlestr1k3
-
Vielen Dank für das schnelle Feedback! :smilie:
Ich muss zugeben das ich es übersehen hatte das dieses Thema 6 weitere Seiten hat :blush:
erst nach meiner Frage habe dies gemerkt und zwischen drin auch den Tip mit der Batchdatei im BF2-OrdnerEs funktioniert tatsächlich bei einem Client. Der Zweite hat leider immer noch den selben Fehler.
Aber da bin ich dran :hell:Desweiteren stürzt der wie im Tutorial eingerichtete BF2-Server ab sobald ich mit dem Client versuche das Match zu "joinen"
Ich habe bisher in den Lan´s einen unranked Server-Launcher v1.50 hergenommen, allerdings musste eine
Internetverbindung vorhanden sein damit die Clients sich für MP anmelden konnten.Das mit der Offlineanmeldung funktioniert jetzt wunderbar, beliebiger Name und Passwort "pass".
Dafür bin ich schon mal sehr dankbar! :smilie:
Ich kann nun auch meinen bisher genutzten Unranked-Serverlauncher starten und in das Spiel joinen, geht alles glatt.
(Bei der Launcher-Verkn. habe ich auch die Parameter +dedicated 1 +ranked 1 dazugegeben, scheint aber nicht zu funktionieren.)Wenn ich das mit der Waffenfreischaltung noch schaffe währe es klasse :clapping:
(In der PHP ist die Variable "allunlocks" auch auf 1 gesetzt ($allunlocks = 1;), leider ohne Erfolg.Ich gebe zu ich habe die letzen 4 Seiten dieses Themas noch nicht zu Ende gelessen, (hab ich jetzt vor).
Viell. ist ja da noch ein wertvoller Tip für mich dabei.
Ansonsten bin ich für jeden Tip sehr dankbar!!!
:bye:
Update:
Clients können sich alle verbinden, allerdings wird keine Statistik angelegt bzw. die sql-db bleibt permanet leer.
Es gab ein mal einen "Zufall?" es wurde ein User in die sql-db aufgenommen, beim spielen hat dieser dann auch eine Auszeichnung erhalten
aber danach hat sich das spiel plötzlich geschlossen (wie bei vielen das Problem hier schon gegeben hat)Meine Frage ist im Moment: wann soll ein Eintrag in der sql-db erfolgen? Beim ersten anmelden eines neuen Users? Oder erst nach dem Beenden der Runde?
Was könnte bei mir falsch laufen dass in die db gar nichts geschrieben wird? ABER es wurde ein einziges Mal ein User doch angelegt, und ohne das ich etwas
am Srv. und auch nicht am Client verändert habe, nach weiterem einloggen und beitreten ins Spiel mit anderen Usernamen wurden diese wieder NICHT in die
db aufgenommen ....ich krieg noch nen Vogel :dash:P.S. habe die gesammten Beiträge durchforstet, einige "Experimente" mit den Einstellungen der Server....con, unterschielich host Einträge hin und her edditert...
Fazit: wird nichts der in der hosts Datei hinzuedditiert (beim Client) kann ich normal einloggen und spiel starten, schreibe ich z.B. diese Einträge hinzu (beim Client)10.0.0.2 gpcm.gamespy.com
10.0.0.2 gpsp.gamespy.com
10.0.0.2 gamestats.gamespy.com
10.0.0.2 battlefield2.available.gamespy.com
10.0.0.2 bf2web.gamespy.com
(auf dem Srv. habe ich diese Einträge aber immer drauf nur mit 127.0.0.1) der Srv. selbst hat die IP 10.0.0.2dann stürzt das spiel auf dem Client schon beim einloggen ab, aber ich sehe wiederrum dass sich was in den drei cmd-Fenstern was tut, in einem kommt einiges
zum vorschein... danach bei allen drei bzw. zwei ->disconnect und das wars.
Lösche ich die Einträge wieder (auf dem Client), sieht man nur Bewegung in den zwei cmd-Fenstern, es erscheint die Ip des Clients und dann folgt disconnect... aber funktioniert nur ohne Statistic u. etc.ich hoffe an dieser Stelle mal auf einen Tip der mich weiter bringt
Vielen Dank schon im Voraus!!!Beste Grüße Wowa
-
Hallo wowa_k,
erstmal vielen Dank für das nette Feedback, hat uns sehr gefreut ;)
Nach meinen Erfahrungen werden die Statistiken erst nach dem Ende einer Runde gespeichert, was die leere Datenbank erklaeren koennte.
Du kannst mal versuchen das Spiel im Fenstermodus zu starten (+fullscreen 0 als Parameter an die Verknuepfung bzw. in die Batchdatei), denn dann erhaelt man eine Fehlermeldung, wenn das Spiel abschmiert.
Diese kannst Du hier mal posten, sodass wir dann gemeinsam den Fehler suchen koennen.Cya,
Battlestr1k3 -
Danke! So mache ich das jetzt mal.
GameSpy brauch ich aber nicht dafür auf den Clients oder?
-
Nein, Gamespy benötigen die Clients nicht.
Cya,
Battlestr1k3
-
Ok, und der Server wohl auch nicht oder?!
Ich habe jetzt:
--- Server ---- BF2 Dedicated Server 1.50 auf meinem Server neu installiert
- der bf2_w32ded.exe verkn. dir Parameter +dedicated 1 + ranked 1 mitgegeben
- in der ServerSettings.con in paar unwesentliche Änderungen vorgenommen
- in maplist.con auf coop umgestellt
- apache u. mySql gestartet (sql DB bf2lanranking ist ja bereits importiert und aktiv)
- launch.bat (loginserver) gestartet
- dann die bf2_w32ded.exe-verkn. gestartet
!!! Server läuft (mit originalen Battlefild 2 Server\python\bf2 dateien) !!!
*** Clients über die angepasste bf2stats.bat gestartet, können mit Fakeaccount loggen und spielen (aber unranked) ***
*** Nach 3 beendeten Runden ist die SQL - DB immer noch leer ***--- Änderung am Server ---
- Die Dateien aus bf2statistics_v1.2\bf2\python\bf2 --> in Verzeichnis --> C:\prog...\Battlefield 2 Server\python eingefügt u. überschr.
!!! Server startet nicht mit der Fehlermeldung:
| Debug assertion failed!
| Version: 1.5.3153-802.0 Build date:2009-8-20-118:8
| Module: Persistence
| File:
| C:\dice\Projects\BF2Branches\Patch_1_50\Code\\BF2\Game\Persistence\HTTPRequest.cpp
| Line: 445
| Text: The request ist invalid due to an invalid GameSpy URL.
| Current confile:
--- EDIT : ---
Es kam auch mal beim Starten des Srv. diese Fehlermeldung:
| C:\dice\Projects\BF2Branches\Patch_1_50\Code\\BF2\Game\GameServer\GameServer.cpp
| Line: 647
| Text 0018FCD8--- Die hosts Datei auf dem Srv sieht bei mir so aus: ---
Copyright (c) 1993-2009 Microsoft Corp.
This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
This file contains the mappings of IP addresses to host names. Each
entry should be kept on an individual line. The IP address should
be placed in the first column followed by the corresponding host name.
The IP address and the host name should be separated by at least one
space.
Additionally, comments (such as these) may be inserted on individual
lines or following the machine name denoted by a '#' symbol.
For example:
102.54.94.97 rhino.acme.com # source server
38.25.63.10 x.acme.com # x client host
localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
::1 localhost
10.0.0.2 bf2web.gamespy.com
127.0.0.1 bf2web.gamespy.com
localhost bf2web.gamespy.com
10.0.0.2 gpcm.gamespy.com 10.0.0.2 gpsp.gamespy.com 10.0.0.2 gamestats.gamespy.com 10.0.0.2 battlefield2.available.gamespy.com 10.0.0.2 bf2web.gamespy.com
Auf den Clients habe ich experimentiert, eben diese Einträge hinzugefügt und einen nach dem anderen entfernt. Dabei ist entweder nix passiert oder es kamm schon beim account einloggen ähnliche Fehlermeldung wie auf dem Server (ich meine sogar exat die selbe)
Kannst du damit was anfangen?
Und vielen Dank für deine Hilfe!
Gruß Wowa -
OK, nach dem ich dieses befolgt habe:
--->Du musst den Inhalt (!) des xpack-Ordners in deinen Hauptordner kopieren.<--- wie du letztes Jahr mit Medion10 geschrieben hast
Jetzt konnte ich zumindest joinen und es kam auch eine Auszeichnung beim Spielen, aber danach (genau wie bei Medion10) Strürzte der Client ab mit der Fehlermeldung:| C:\dice\Projects\BF2Branches\Patch_1_50\Code\BF2\RendDX9\TextureManager.cpp
| Line: 761
| Text: Texture not fuound:
| menu/hud/texture/ingame/generalicons/medals/award_name_1261109_1An dieser Stelle wieder mal eine Frage an den Admin:
- habt ihr es letztes Jahr mit Medion10 lösen können? wenn ja bitte wie?
- kann es an den Patches liegen? Sollte ich alles komplett mal entfernen und BF2 ohne Patches probieren? Oder kann ich es mir sparen?!
P.S. Die Sql-DB hat immer noch keinen neuen Eintrag, nur den einzigen von gestern
-
same problem. kann hosten und joinen und erhalte orden aber es wird nichts gespeichert und die unlocks funzen auch nich (was eigentlich die hauptsache wäre)
naja erstma schöne weihnachten allen!
-
Nach einigem Suchen konnte ich leider nicht wirklich viel in Erfahrung bringen.
Ich kann allen, die das oben erwähnte Problem haben, nur raten sich eventuell mal an die offizielle BF2Statistics-Website zu wenden.
Sollte jemand die Lösung des Problems finden, wäre es nett, wenn er diese hier kurz veröffentlicht.Mfg und frohe Weihnachten,
Battlestr1k3
-
Jo ich hatte die Seite schon entdeckt, als ich die php Skripte im ASP durchforstet hatte, bin ich in einem Kommentar über die Webadresse gestolpert. Aber trotzdem danke!
Es gibt mittlerweile neuere Versionen, hab mir nicht die Mühe gemacht die Zwischenversionen zu testen und bin gleich zu bf2statistics 2.0
Aber :dash: dennoch geht es nicht wirklich.- Problem: sobald ein Client versucht auf den srv. zu gehen stürzt der srv. ab.
Ich habe in der log-Datei von Apache nachgesehen, die letzten Einträge sind zwei Anfragen von der Client IP, mit dem Fehler dass das angegebene Verzeichnis nicht im ASP Verzeichnis existiert. Es wird scheinbar eine Abfrage gemacht die in leere zielt bzw. mit GET wird etwas übergeben wo es nicht hingehört. Ich kann mich jetzt nicht an Einzelheiten erinnern weil ich im Moment wo anders am iPad bin. Werde aber noch etwas zusammenschreiben und posten.
Ach ja, die Bots werden zumindest in die SQL dB geschrieben, solange kein Client zum srv. Verbindung aufbaut läuft der srv. ja :) immerhin.
Wenn der srv. mit dem originalen Python Inhalt gestartet wird läuft dieser stabil und bei den Clients kommen sogar Auszeichnungen ohne dass das Spiel abstürzt. (Auszeichnungen werden natürlich nicht gespeichert)
Hab des ganze (Serverseitig) auf Server2003 SP2 und Seven versucht, beides das gleiche Resultat.
Hoffe immer noch den Fehler zu finden, würde dieses Wissen selbst verständlich teilen!
Nur schade dass ich kein Englisch gelernt habe, sonst hätte ich die Macher von Bf2Statistiks angeschrieben :nea:Wünsche allen noch schöne Weihnachten!
- Problem: sobald ein Client versucht auf den srv. zu gehen stürzt der srv. ab.
-
Hi Leute, ich bastel jetzt auch schon ne ganze Woche an dem Server, es funzt soweit bis ich den dedicated Server starten will,
dann bringt er diesen Fehler, das es mit Win764bit schon Probleme mit der Reg gibt habe ich auch schon gemerkt, liegt dieser Fehler auch am OS ?
Gruß
Edit:
kann sich noch jemand bei BF2Statistics.com registrieren ??? ich bekomme immer den Fehler das es meinen Account schon gibt blabla... hab natürlich verschiedene probiert aber nix geht... wollte mir das neue BF2Statisticsv2.0.0 holen, hat das jemand von euch schon ? -
Hi Woodruff,
da scheint etwas mit dem Pfad nicht zu stimmen, vielleicht liegt es am Pfad von dem aus die Datei ausgeführt wird.
Wie startest Du denn den Server?
Cya,
Battlestr1k3
-
hi, ist egal ob ich den Server mit Verknüpfung -ded -ran starte oder mit dem Launcher, der Fehler tritt immer auf, ich hab das ganze jetzt auf einem xp rechner probiert, beim ersten mal starten lief alles, login ohne probs doch als der client auf den server wollte ist der client gefreezt und der server abgestürzt, Fehlermeldung "The Request is invalid due to an invalid Gamespy URL"...
also der Login Server läuft Einwandfrei, alle Clients können einen Account anlegen, xampp läuft auch ohne Fehler nur wenn ich den Server starte und die Clients drauf connecten kommt die Fehlermeldung...
-
Hi! Frohes neues euch allen!
Ja ich habe das 2.0 auch probiert, Server stürzt beim Start mit identischer Fehlermeldung ab.
Hab momentan etwas weniger Zeit, bin aber noch an der Sache dran.Allerdings bei den letzten Versuchen ist mir etwas aufgefallen:
(Zur Vorgeschichte) hatte erstmal Schnauze voll vom rum suchen, dachte mir "dann zockma halt so" und zur Gaudi den Allied Intent2 Mod installiert. Da jedes mal in die serversettings.con und mapconfig_coop.con manuell zu schreiben nervt, hab ich mir in VB einen kleinen Serverlauncher für den ai Mod geschrieben.
Und jetzt kommt's ! Wenn ich die bf32_ded.exe (oder wie die heißt) von meinem Launcher aus mit EXAKT den selben Parametern ausführe wie die Verknüpfung vom Mod, kommt eine identische Fehlermeldung von wegen GameSpy URL falsch...
Wenn ich in die configs mit meinem Launcher schreibe und die ...ded.exe über Verknüpfung starte geht's.
Worauf ich hinaus will -> vill. suchen wir/ich an der falschen Stelle???Melde mich wieder wenn es was neues zu berichten gibt... :bye:
-
Hallo, erstmal vielen Dank für die wahrscheinlich erste richtige komplett erstellte Anleitung, die ich je im Netz gesehen habe.
Nun zu meiner Frage, besteht eventuell die Möglichkeit, dieses Statistik-Tool richtig online zu stellen. Also sprich, dass man das nicht auf dem Rechner als Server, sondern über das http:// aufrufen kann?
Habe einen eigenen Server und werde zukünftig öfter Lan-Party´s machen. Diese Stats sollten dann über meinem Server immer errcihbar sein.
Habe einen Linux Ubuntu Debian Server. Apache und co laufen.Vielleicht kann mir jemand dabei helfen. Vielen Dank vorab.
Grüße
-
huhu, ich sehe der thread ist schon etwas älter :( hoffe mir kann trozdem jemand helfen, ich bastel schon seit locker 4 stunden an den stats.
- Alles auf einem System (Win 7 64 Ultimate)
- BF2 Complete Collection über Origin / Server: Einfach nochmal das ganze kopiert
- XAMPP läuft, GS Login Server über launch.bat läuft auch, alles kopiert
- nun zu den Datein
ASP config.php
[code]<?php/************************
- Database information *
************************/
$dbhost = 'localhost'; // database host name
$dbname = 'bf2lanranking'; // database name
$dbuser = 'root'; // database user name
$dbpass = '********'; // database user password/************************
- Log file information *
************************/
$logpath = 'logs'; // log file path (NO TRAILING /)
$minplayers = 1; // minimum number of players/***************
- LAN Name/IP *
***************/
$lan = array( //Add players to fix countryflag e.g 'playername', 'Global IP'
\'(clantag)Name\', \'192.168.1.1\', \'(clantag)Name\', \'192.168.1.2\', \'(clantag)Name\', \'192.168.1.3\', \'(clantag)Name\', \'192.168.1.4\' );
/*******************
- Server Settings *
*******************/
$allunlocks = 0; // 0=earned, 1=all
?>
[/code]bf2stats.bat
[code]@echo offset BF2_ASP_SERVER=127.0.0.1
set GAMESPY_EMULATOR_SERVER=127.0.0.1REM Use any domain or IP from a server with a running gamespy emulator and working bf2 statistics
REM The GameSpy Login-Server allowes you to log in, even if you dont have a internet connection:
REM http://www.reloadedmod.com/bf2/gs_login_server_0.2.2.zipREM Battlefield 2 Statistics download:
REM http://bf2statistics.com/request.php?10REM If you are a skilled c/c++ coder and interested in coding a complete GameSpy Emulator
REM (with SQL-Support, etc.), contact me :
REM ICQ: 277998617 | MSN: krauzi@live.de | E-Mail: krauzi_gmbh@yahoo.deset hostsdir=%systemroot%\system32\drivers\etc
set bf2parameters=+modPath mods/bf2 +fullscreen 1
set foo=# #color c
clsREN "%hostsdir%\hosts" hosts.backup
IF %ERRORLEVEL% == 1 (goto adminprivileges) ELSE ren "%hostsdir%\hosts.backup" hostsREG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\EA GAMES\Battlefield 2" /v InstallDir >NUL 2>&1
IF %ERRORLEVEL% == 1 goto installpathIF EXIST "%hostsdir%\hosts.ics.backup" ren "%hostsdir%\hosts.ics.backup" hosts.ics
cls
echo Detecting your Battlefield 2 Install Directory . . .
FOR /F "Skip=2 tokens=2*" %%i IN ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\EA Games\Battlefield 2" /V "InstallDir"') do set "bf2dir=%%j"
echo Your Battlefield 2 Install Directory is: %bf2dir%
echo.IF "%BF2_ASP_SERVER%" == "" (
cls
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo YOU NEED TO SET AT LEAST A ADRESS FOR THE BF2_ASP_SERVER!!!
echo.
goto error
) ELSE set /p =Resolving ip of the BF2 ASP<nulIF "%GAMESPY_EMULATOR_SERVER%" == "" (
echo. Server . . .<nul
) ELSE echo. - and the Gamespy Emulator Server . . .<nulping /n 1 %BF2_ASP_SERVER%>nul
IF %ERRORLEVEL% == 0 ( goto continue0
) ELSE (
REM cls
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo Could not recieve a valid Adress for the BF2_ASP_SERVER!
echo.
goto error
)
goto break0:continue0
FOR /F "tokens=2 delims=[]" %%i in ('ping /n 1 %BF2_ASP_SERVER%') do set aspIP=%%i
IF "%aspIP%" == "" set aspIP=%BF2_ASP_SERVER%
set aspVALID=True
:break0ping /n 1 %GAMESPY_EMULATOR_SERVER%>nul
IF %ERRORLEVEL% == 0 (
goto continue1
) ELSE (
set geVALID=False
goto break1
)
:continue1
FOR /F "tokens=2 delims=[]" %%i in ('ping /n 1 %GAMESPY_EMULATOR_SERVER%') do set geIP=%%i
IF "%geIP%" == "" set geIP=%GAMESPY_EMULATOR_SERVER%
set geVALID=True
:break1IF %geVALID% == True (goto continue2) ELSE goto continue3
goto break2
goto break3:continue2
echo The resolved IPs are %aspIP%(ASP) and %geIP%(Gamespy Emulator)
goto break2:continue3
echo The resolved IP is %aspIP%.
goto break3:break2
:break3echo.
echo Preparing redirection for Battlefield 2 Login Emulator . . .
echo Creating backup of old hosts.ics file . . .IF EXIST "%hostsdir%\hosts.ics" REN "%hostsdir%\hosts.ics" hosts.ics.backup
echo.
echo Writing into hosts.ics:
echo.IF %geVALID%==True (
echo %geIP% gpcm.gamespy.com
echo %geIP% gpcm.gamespy.com>>%hostsdir%\hosts.icsecho %geIP% gpsp.gamespy.com echo %geIP% gpsp.gamespy.com>>%hostsdir%\\hosts.ics echo %geIP% gamestats.gamespy.com echo %geIP% gamestats.gamespy.com>>%hostsdir%\\hosts.ics
)
echo %aspIP% bf2web.gamespy.com
echo %aspIP% bf2web.gamespy.com>>%hostsdir%\hosts.ics
echo.
echo.
echo Entries created. Starting Battlefield 2!echo.
echo.
echo.
echo.
echo !!!DO NOT CLOSE THIS WINDOW!!!
echo.
echo ################################################################################%foo%# To use the stats system, you need to play bf2 with an online account!#%foo%# DO NOT CREATE A NEW ACCOUNT, do the following: #%foo%# "Manage Accounts->Find Account->Activate Username" #%foo%
%foo%# Use any Username, BUT use password "pass" (without "quotes") #%foo%################################################################################
echo !!!DO NOT CLOSE THIS WINDOW!!!
echo.
echo.
echo.
echo.PUSHD %bf2dir%
"E:\Origin Games\Battlefield 2 Complete Collection\BF2.exe" %bf2parameters%
echo.Reverting operations:
echo.echo Deleting old File (Step 1/2)
DEL "%hostsdir%\hosts.ics"echo Renaming backup file (Step 2/2)
REN "%hostsdir%\hosts.ics.backup" hosts.icsexit
:error
echo Press any key to continue . . .
pause > NUL
exit:adminprivileges
cls
echo.
echo.
echo.
echo YOU NEED TO RUN THIS SCRIPT WITH ADMINISTRATOR PRIVILEGES
echo.
echo Rightclick on this batch file and select "Run as Administrator"
echo.
echo.
echo.
goto error:installpath
cls
echo Could not detect your Battlefield 2 Install Directory.
echo Make sure you have installed it properly!
goto error[/code]und sobald ich die bf2stats.bat als admin auführe geht alles seinen guten weg, bis diese wohl die BF2.exe starten will. Dort kommt jedes mal die Fehlermeldung "mods/bf2/shaders/staticmesh.fx not found". habe schon unendlich viel gegogglet, patches neu installiert, das ganze BF2 nochmal installiert keine Besserung. Aber starte ich die BF2.exe normal, gelange ich ganz normal ins Spiel ohne Probleme, aber so würde ich ja den GS-Server für die Rankings umgehen oder nicht ?
Es wäre schön wenn mir noch jemand dabei helfen könnte.
Edit So habe meinen Fehler gefunden lag halt echt noch an den Benutzereinstellungen von Win, somit läufts habe aber das gleiche prob mit dem disconnect wie alle anderen auch. Schade dachte könnte am WE die LAN-Party etwas aufpeppeln.