[TUT] Battlefield 2 LAN Ranked Server mit Patch 1.50
-
Ja klar versuchen Wir Dir zu helfen ;)
Hast Du den Server über das Startscript gestartet? -
welches startscript meinst du, über das mit dem ich auch mein battlefield starten soll?
ja, das hatte ich gemacht aber hat leider nicht zum gewünschten erfolg geführt... -
Hast du an die Verknüpfung zum Server starten folgendes dran gehängt:
[code]+dedicated 1 +ranked 1[/code]? -
also ich habs mit den parametern gestartet aber er nimmt die werte die ich in der config.php eingegeben hab nicht an.
die servereinstellungen sollen auch so belassen werden wie sie sind oder?
den rest hab ich komplett nach der anleitung gemacht... -
Was genau nimmt er nicht an?
Gibt er einen Fehler aus? -
Erstma ganz oben die Verknüpfung für den Server:
[code]"C:\Games\Battlefield 2\bf2_w32ded.exe" +dedicated 1 +ranked 1[/code]Also folgendes steht im Acceslog von Xampp:
[code]127.0.0.1 - - [30/Jul/2011:20:04:34 +0200] "GET /ASP/getplayerinfo.aspx?pid=31338&info=per*,cmb*,twsc,cpcp,cacp,dfcp,kila,heal,rviv,rsup,rpar,tgte,dkas,dsab,cdsc,rank,cmsc,kick,kill,deth,suic,ospm,klpm,klpr,dtpr,bksk,wdsk,bbrs,tcdr,ban,dtpm,lbtl,osaa,vrk,tsql,tsqm,tlwf,mvks,vmks,mvn*,vmr*,fkit,fmap,fveh,fwea,wtm-,wkl-,wdt-,wac-,wkd-,vtm-,vkl-,vdt-,vkd-,vkr-,atm-,awn-,alo-,abr-,ktm-,kkl-,kdt-,kkd- HTTP/1.1" 200 1517 "-" "GameSpyHTTP/1.0"
127.0.0.1 - - [30/Jul/2011:20:04:34 +0200] "GET /ASP/getplayerinfo.aspx?pid=31338&info=ktm-,vtm-,wtm-,mtm-&kit=0&vehicle=0&weapon=0&map=0 HTTP/1.1" 200 76 "-" "GameSpyHTTP/1.0"
127.0.0.1 - - [30/Jul/2011:20:04:34 +0200] "GET /ASP/getplayerinfo.aspx?pid=31338&info=mtm-,mwn-,mls- HTTP/1.1" 200 667 "-" "GameSpyHTTP/1.0"
127.0.0.1 - - [30/Jul/2011:20:04:34 +0200] "GET /ASP/getunlocksinfo.aspx?pid=31338 HTTP/1.1" 200 17 "-" "GameSpyHTTP/1.0"
127.0.0.1 - - [30/Jul/2011:20:04:34 +0200] "GET /ASP/getrankinfo.aspx?pid=31338 HTTP/1.1" 200 17 "-" "GameSpyHTTP/1.0"
127.0.0.1 - - [30/Jul/2011:20:04:37 +0200] "GET /ASP/getrankinfo.aspx?pid=31338 HTTP/1.1" 200 17 "-" "GameSpyHTTP/1.0"
127.0.0.1 - - [30/Jul/2011:20:04:37 +0200] "GET /ASP/getbackendinfo.aspx HTTP/1.1" 200 480 "-" "GameSpyHTTP/1.0"
127.0.0.1 - - [30/Jul/2011:20:04:37 +0200] "GET /ASP/getplayerinfo.aspx?pid=4203&info=per*,cmb*,twsc,cpcp,cacp,dfcp,kila,heal,rviv,rsup,rpar,tgte,dkas,dsab,cdsc,rank,cmsc,kick,kill,deth,suic,ospm,klpm,klpr,dtpr,bksk,wdsk,bbrs,tcdr,ban,dtpm,lbtl,osaa,vrk,tsql,tsqm,tlwf,mvks,vmks,mvn*,vmr*,fkit,fmap,fveh,fwea,wtm-,wkl-,wdt-,wac-,wkd-,vtm-,vkl-,vdt-,vkd-,vkr-,atm-,awn-,alo-,abr-,ktm-,kkl-,kdt-,kkd- HTTP/1.1" 200 1517 "-" "GameSpyHTTP/1.0"
127.0.0.1 - - [30/Jul/2011:20:04:37 +0200] "GET /ASP/getplayerinfo.aspx?pid=4203&info=ktm-,vtm-,wtm-,mtm-&kit=0&vehicle=0&weapon=0&map=0 HTTP/1.1" 200 75 "-" "GameSpyHTTP/1.0"
127.0.0.1 - - [30/Jul/2011:20:04:37 +0200] "GET /ASP/getplayerinfo.aspx?pid=4203&info=mtm-,mwn-,mls- HTTP/1.1" 200 666 "-" "GameSpyHTTP/1.0"
127.0.0.1 - - [30/Jul/2011:20:04:37 +0200] "GET /ASP/getunlocksinfo.aspx?pid=4203 HTTP/1.1" 200 17 "-" "GameSpyHTTP/1.0"
127.0.0.1 - - [30/Jul/2011:20:04:37 +0200] "GET /ASP/getawardsinfo.aspx?pid=4203 HTTP/1.1" 200 62 "-" "GameSpyHTTP/1.0"[/code]Meine bf2stats.bat sieht so aus:
[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 0
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\Wow6432Node\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\Wow6432Node\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%
"%bf2dir%\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]Das hier is die Config.php:
[code]<?php/************************
- Database information *
************************/
$dbhost = 'localhost'; // database host name
$dbname = 'bf2statistics'; // database name
$dbuser = 'bf2'; // database user name
$dbpass = 'bf2'; // 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\', \'Fojateufel\', \'127.0.0.1\' );
/*******************
- Server Settings *
*******************/
$allunlocks = 1; // 0=earned, 1=all
?>
[/code]Und trotz dass hier alles so steht bekomm ich wenn ich auf BFHQ klicke angezeigt dass ich nichts freigeschaltet hab und wenn ich auf den Server gehe übernimmt der die Mindestspielerzahl aus der Config nicht.
Ich dachte ich poste mal gleich alles, vllt hilft das meinen Fehler zu finden - Database information *
-
[quote="Niemand90":3taxme1v]
wenn ich auf den Server gehe übernimmt der die Mindestspielerzahl aus der Config nicht.Mit was hast du deinen Server konfiguriert (du sprichst doch von der Serverconfig?), also mit dem Dedicated Server Tool oder per Hand (Editor etc.)?
-
also mein Problem is eig, in der config.php für das ranking kann man doch festlegen, ab wie viel spielern geranked werden soll und man kann einstellen dass alles sofort unlocked ist.
Jetzt ist es bei mir aber so dass das Ranking nicht funktionieren will, denn ich connecte zum server aber kann leider keine anderen waffen auswählen als die standart waffen die man von anfang an hat...
den server ansich konfiguriert man ja in der config die allein für den server da ist -
[quote="Niemand90":1kczpy7x]den server ansich konfiguriert man ja in der config die allein für den server da ist
Das ist mir schon bewusst, nur hast Du davon gesprochen, dass die angebene maximale Spieleranzahl nicht übernommen wurde.
Die könnte ein Zeichen dafür sein, dass vielleicht die verwendete Verknüpfung auf einen anderen Server (hast du mehrere?) verweist.
Da du ja gesagt hast, dass das komplette Ranking nicht funktioniert, könnte auch ein Fehler in den Ranking-Configs die Urssache sein.
Bitte überprüfe die Funktionalität, indem du z.B. lange genug gegen Bots spielst. -
Hallo zusammen,
nächste Woche mach ich mit par Kumpels mal wieder ne Lan. BF2 steht natürlich auch wieder auf dem Programm.
Dieses Thema finde ich wirklich interessant, jedoch ergeben sich einige Fragen.1.) Welches Programm steht für welche genaue Funktion?
2.) Was genau muss letztenendes bei der "config.php"-Datei geändert werden?
3.) Muss ich als Client nur den "BF2 Statistics Client" ausführen?
4.) Wann kommt der "GameSpy Login-Emulator" zum Einsatz?
5.) Wo bzw. wie kann ich die Statistik jetzt aufm Webserver/Website anzeigen lassen? Und benötige ich dafür Internet um auf diese Seite dann zugreifen zu können?Vielen Dank für eure Antworten
MfG Medion10
-
Hi Medion10,
erst einmal ein herzliches Willkommen auf TechZone :)Zu 1) und 4)
Der Gamespy Emulator wird benötigt, damit dem Spiel vorgegaukelt wird der Spieler würde sich online in seinen Multiplayer-Account (der ja via Gamespy läuft) einloggen.
Das BF2Statistics-Pack ist für den Server zuständig, damit dieser die erzielten Punkte etc. weitergibt an die MySQL-Datenbank.
Diese ist mit einem Webserver in XAMPP vorhanden.Zu 2)
In der config.php muss in der Standardinstallation von Xampp erstmal nichts geändert werden, ausser du willst einstellen ob jeder Spieler von Anfang an alle Waffen freigeschaltet bekommt.
Du müsstest erst wirklich etwas ändern, wenn du das Datenbankpasswort von MySQL ändern würdest, was ich nur empfehlen kann.Zu 3)
Ja genau, jeder Spieler muss das Spiel über das Script starten, damit er aktiv mitmachen kann (siehe einige Posts oben, falls es bei einem Spieler warum auch immer nicht gleich funktionieren sollte).Zu 5)
Ja, das geht sogar ohne Internet. Du findest die Seite nachdem Starten von Xampp (Apache) unter [code]http:///ASP/[/code] oder stats, muss nochmal schauen.Mfg,
Battlestr1k3 -
Danke für die Hilfe.
Ich hab dir per xfire ne Freundschaftsanfrage geschickt...
Kannst du mal bitte annehmen, danke.MfG Medion10
-
Ich habe zur Zeit kein XFire, weshalb ich dich bitten würde dein Anliegen hier rein zu posten.
:danke: im Vorraus
-
Okay sehr schade...
Hatte Xfire nur deswegen in Betracht gezogen, da du mir so Echtzeithilfe geben könntest. Problem is nämlich, dass die Lan-Party schon am Freitag steigt.Aber gut hoffe wir kriegen das auch so hin xD
-
Also, dass mit Xammp hab ich alles verstanden, nur das mit dem "http://localhost/phpmyadmin/" nich so wirklich.
Zum einen is der link leider tot, zum anderen verstehe ich nicht für was die ganzen Einstellungen auf dieser Seite gut sind, da nirgendwo sonst diese im Tutorial verwendet werden?! -
Wenn ich nun auf dem PC, der als Server fungiert trotzdem auch joinen will, lass ich dann den Eintrag "localhost bf2web.gamespy.com" einfach weg?
-
Der "gefakte" Ranked-Server funktioniert wie der Original Online-Server? Kann ich irgendwie einstellen, dass das Aufsteigen schneller geht? Ansonsten wird das mit den Waffen freischalten etwas mühselig...
-
Wenn ich den Server starte, wo trage ich die genannten Paramter ein?
-
Wie genau kann ich nun die Stats abrufen? Hast du nochmal nachgeschaut?
Gruß Medion
-
-
Ich geb dir später genauer Antwort, versuch in der Zeit bitte den Webserver zum Laufen zu bekommen, deswegen funktioniert der link nicht.
Localhost ist dein Computer, wenn andere localhost eingeben würden sie bei sich landen.
Wenn du den Apache über xampp korrekt gestartet hast (firewall ausnahme?) solltest du über den link auf phpmyadmin kommen. -
Okay super. Ein Problem weniger :)
Hab den Webserver zum Laufen bekommen und nun is der Link auch zugänglich.
Ich hab jetzt einfach mal alles nach Anleitung weiter gemacht. Nut leider kommt wenn ich "bf2stats.bat" ausführe immer folgender Fehler:
"bf2 stats could not detect your battlefield 2 directory..."
Ich hab BF2 auf Partition D installiert. Wo kann ich den Pfad in der batch datei ändern?
Bis später dann
//Edit:
Der letzte Post hat sich erledigt....Wer lesen kann is klar im Vorteil. hab voll überlesen, dass die selbe Frage von nem Vorposter schon gestellt wurde sorry.
-
So nun weiter im Kontext :ugly:
Den Eintrag in der hosts Datei (localhost bf2web.gamespy.com) solltest Du drin lassen, wenn Du auf deinem PC spielen willst auf dem ja auch der Server bei dir liegt.
Aber es wird dann durch die bf2stats.bat ein zusätzlicher Eintrag deiner IP eingetragen, also doppelt gemoppelt.Die Parameter hängst du an die Startverknüpfung deines Servers.
Du kannst einstellen, dass man schneller aufsteigt, ich muss aber nochmal gucken wie das geht.Die genaue URL dürfte sein
[code]http:///ASP/[/code] -
Danke erstmal für deine tolle Hilfe :rolleyes:
Also soll ich den Eintrag jetzt machen oder nich? Du schreibst einmal es wäre besser aber gleich danach dass es doppelt sei?!
Habe jetzt ein anderes Problem und zwar wenn ich die bf2stats.bat ausführe, fängt das game an zu starten, kommt aber nur blackscreen un dann folgende Fehlermeldung:
"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!)"
Was hab ich falsch gemacht?
-
Probiere das mit der hosts Datei einfach, du wirst beim Einloggen merken ob es funktioniert oder nicht ;)
Wegen dem Fehler:
Kopiere mal das Startscript in deinen Battlefield 2-Ordner und starte es von da.
Das Problem ist, dass das Arbeitsverzeichnis nicht korrekt ist, weshalb BF2 die benötigten Dateien nicht findet. -
Hey super, echt hammer was du alles weist!
Okay also jetzt geht er ins Spiel. Nur wenn ich den Account erstellen will kommt:
" The server has refused the connection".Ich muss doch nicht XAMPP geöffnet haben bzw den Server schon offen haben oder?
Ich mein um den Fake Account zu erstellen bracuh ich doch die "bf2stats.bat" Datei zu öffnen.
Gruß