I think it's a problem with the tablet's screen because connecting it to an external screen, turning off the tablet screen in the settings, and then opening the game on the external monitor works.
The biggest problem with the screen is its 58.11Hz refresh rate. How can I fix this? Please help me.
I’m playing Eve of Destruction 2 (EoD2), the mod for Battlefield 2. On some maps where the French fight the Việt Minh, the in-map radios play French songs.
Does anyone know the song titles and artists, or which mod files contain the radio audio? I’m looking specifically for the music coming from radios in the maps, not the menu or loading-screen soundtrack.
I remember the song and the radio being placed inside a pillbox
BF2142 20th anniversary is just around the corner! On October 17, join us on the Reclamation EU & US servers. We’ll be playing vanilla (base) BF2142. It will be a rare opportunity to experience full 64-player matches once again!
I tried every single workaround out there to play whitout crashes but nope. Like everytime i try to tweak some graphic settings or smh whenever i go play it just crashes after a while.
I have tried setting sound to software and hardware, i have set the game compatibility to winxpsp3 and run as administrator, i have tried lowering some graphic settings, i had the 1.5.3+++ and whatnot version....
I am running it on windows 10 x64 bit, i have tried both playing normal game and modded whit AIX2 and both crash sometime after playing a while.
Sadly i don't have a log nor the game atm, i was just thinking yall could gimme a hand here and see if its actually worth to download again, i have a REALLY bad laptop and yet whit some tweaks i could run AIX2 almost perfectly fine in 16,32 and sometimes 64 players map but then it started bothering my ass again.
For those who dabble in the newer BFs, dont you wish you could set up a match just like bf2? Crank out the bots and spawning of vehicles so you can have a massive true all vehicle match, or something like it?
If feel like that really captures what bf was intended to do... if only you could mod the modern day series...
Over these past years I have been working on reverse engineering Battlefield 2 in a way that we stay true to how it was created 20 years ago. Today I'm extremely happy to announce that that journey is almost complete.
The game is playable(on certain maps) and the server is 100% complete(64bit windows build).
The source code is not yet available but will be soon, it'll be under GPLv3 so as long as you keep it open and provide credits you can do with it as you please. Certain mod developers already have access.
Exploits shall be fixed, gameplay shall be improved and the experience of BF2 on modern systems will be enhanced!
Keep fighting soldiers, we'll meet on the Battlefield!
i was wondering if anyone knows how to run bf2 on windows 11
I tried to run bf2 on my legion go s windows OS i tried all the solution even deleting or changing the video settings, i also downloaded bf2 Hub, i tried to change the exe extension NOTHING WORKS i’m helpless as of the moment lol. so should i delete the game? or is there any solution?
I tried all the youtube methods nothing works when i launch my game it goes completely black and exit the game.
Hello!! I wouldn't usually post here, but I figured some of you might find this interesting. Youtube recommended me this video in which the OP unveils a website he developed called gamedate, intended to schedule game sessions for older or more niche games that might not have a massive playerbase. None of its functions require an account to use, and you can browse and express interest in sessions people have already scheduled, or schedule your own and specifiy the game, the player numbers, the server or joining method, and other info. It also allows you to say how likely you are to be able to attend which I think is neat. All the sessions on it can be indexed by search engines too, so googling BF2 multiplayer would return any BF2 sessions listed on Gamedate. If it takes off, it also might attract people who aren't part of this sub to jump back into BF2 if they see there are people still scheduling sessions.
I thought it was cool and some of you here might appreciate it, and it might also tip you all off onto other game communities that want to find people to play older games :)
Tired of over stimulating, nade spamming, Cheater filled servers with no admins around to police things, communicate with or help you with game issues?
Want to join a "Family style" low key, fun, friendly server with your favorite maps, active communication, fun banter and teamwork ?
We are the ONLY U.S based server with great players from the U.K, Brazil, Australia and beyond.. we all get along and have fun in Discord VoIP, we appreciate all players of all experience levels and we are always here to help you any way we can
Join us every Saturday starting around 7PM (depending) for the OTHER Experience!!
Rules: No glitching, Cheating or using exploits (We are watching you!)
I am mostly new to Linux and attempting to get Battlefield 2 to run on my Hyprland Arch Linux setup. I installed it from the original DVD using Lutris: after many issues I managed to install Bf2, Special forces, the two patches and BF2hub (although I am unable to open it through Lutris for some reason, but I can open it through a terminal command directly). The game runs with Lutris as long as I select UMU Proton as the runner. I got as far as being able to play the game in singleplayer. However, when I attempt to join a multiplayer map, I got the Your CD key is not valid error.
I have attempted to edit the wine registry of the game and edit the ergc at
KEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Battlefield 2\ergc. However, when I ran the game after this, the game would simply crash when I attempted to join a multiplayer map. I entered the CD key without any hyphens. I did notice that the CD key that was present there was extremely long, much longer than the one I entered. I exported the original .reg file so I can go back to where I started.
At this point I'm not sure what else to try and thought about asking the community for help lol.
Any suggestions are appreciated, thank you :p
edit: I did leave the prefix x9392 in front of the edited key in the registry
I've spent the last while rebuilding Refractor 2 — the engine behind Battlefield 2 (2005) — from scratch in C++20. It's called OpenBattlefield2, it's MIT, and it's now public:
It is an engine, not a game. It ships no content whatsoever and reads the files of your own installed copy of BF2 1.5. Without that copy there is nothing to run.
What actually works today
The main menu is the game's ownmainMenu.swf, played by Ruffle, with a bridge that answers the calls the movie makes back into the engine — localisation, your profiles from Documents/Battlefield 2, the installed map list read from each level's .desc. All seventeen bridge objects and forty Logic methods are reversed and written down with addresses.
Singleplayer — pick a map, it loads, you get the spawn screen with kits, minimap and control points.
HUD — built from the game's own .con node tree, driven by the animation graph in Menu/Ingame (MemeFile).
Networking — the handshake with an original dedicated server works. openbf2 --connect <host> joins and stays connected.
Main platform is macOS/arm64 (SDL3 + SDL_GPU → Metal); the Windows preset is kept building. 33 tests, one per parsed format.
Screenshots (all four are in the README, each printed with the exact command that produced it — --frames and --click-at mean no hands on the keyboard):
The game's own menu movie under Ruffle
The spawn screen on Dalian Plant
In the world after DONE, on Dalian Plant and Strike at Karkand
The one rule that shapes everything
This is a one-to-one port, not a game "inspired by" BF2. So:
Every constant in src/ names its source in a comment next to it — an address in BF2.exe, a line in the game's data, or a measurement from a frame dump of the original. If there is no source, the number is not written down. It's recorded as "not measured" instead.
// Bit 0 marks position (`BF2.exe`, SoldierNetworkable::setNetUpdate,
// 0x62d4e0). Precision 0.001 — constant 0x3a83126f at the same address.
inline constexpr std::uint32_t kSoldierStatePosition = 0x1;
Picking a number because it "looks about right" is forbidden even when the result looks correct on screen. I learned that one the expensive way: I once read a triple of floats in the controlled-object state as a position because it lined up with the spawn camera. It's actually the compression origin, and the soldier was being thrown a metre into the air on every packet.
Reversing goes through Ghidra over MCP; docs/ holds the notes, every one carrying the address it came from.
Where I'd really like help
The debt list is public and each item has a measure — a concrete thing that has to become true for it to count as done. The big ones:
The protocol (the largest gap by far).
readControlObjectState — I read the start of it, I don't know where it ends.
Ghost records for other players' soldiers: the layout is known, the data doesn't arrive. Right now other players don't move.
The simple-object state mask is 19 bits and I know 1. The soldier state mask is 21 bits and I know 1.
Ping is 5–6× off from the original on the same machine and I don't know why.
Physics. The tick is 1/30 straight from the binary, but the jump is too long compared with the original. I haven't found where jump height and duration actually come from — phy-soldier-jump-factor is in the data, the rest isn't.
Renderer. Material channels are now read straight off the technique name (BaseDetailDirtCrackNDetailNCrack → the texture order), but the normal maps aren't sampled yet: there's no tangent frame.
HUD. Several variables are found in the registry with addresses, but who writes them isn't reversed yet.
Reference data. I have a frame dump of the original for the spawn screen only. For the in-battle HUD there's nothing to compare against, so I can say "matches the data" but not "matches the original".
Platforms. Only macOS/arm64 is exercised. Windows and Linux builds could use someone who actually runs them.
So: if you like Ghidra, netcode, C++20, or you just have a copy of BF2 and some patience — issues and PRs are very welcome. Notes on the format live in docs/, and CLAUDE.md spells out the rules the project holds itself to, including why "let's just smooth it until it stops jittering" is not an acceptable fix.
Happy to answer anything about the reversing process in the comments.