You are not logged in.
1) the screen freeze on the skirmish/campaign/multi menu and the loading music plays
2) I can enter the party after a proper loading screen, deploy and play but i can't go back to the menu (game finished or intentionally) without freezing my laptop...
That almost sounds like the expected symptom of not having the GameSpy fix installed. The last link in the list provided earlier was for applying the GameSpy fix, but maybe it's missing / not applied where it needs to be applied?
The installation option I prefer is to download and execute the "Battlefield 1942 GameSpy patch v1.61" installer ("Battlefield 1942 GameSpy patch v1.61.exe") from the Team-SiMPLE downloads page. That will guarantee the fix goes where it needs to go.
What DOESN'T fit with the symptom is that you say the hang is indefinite, and will last for hours if you let it. As I recall with the GameSpy issue, although the hang was present, it did eventually time out.
-Trench
EDIT: Missed a link.
(EDIT: Removed a bunch of unnecessary discussion, now that Bud confirmed DNS should be supported.)
Ey Trench :-) just here to say hi and give u a +1
Thanks iCQ! A few dozen more of those and I'll finally be out of the negative digits.
Tuia made some standalone .exe some years ago. Dont remember how he solved the key issue.
Yeah, that's where my mind had gone first too. But he's not literally asking for "an installer of Battlefield 1942." He's asking for "an installer which will simply create a shortcut for launching Battlefield 1942 and automatically joining the Team-SiMPLE server."
i.e. Instead of trying to get new players to follow instructions to solve the GameSpy issue, find the server in the game browser, and/or create their own shortcut for connecting directly to the server, bypass those three issues by creating a shortcut for them which they can simply click on.
Origin 1942 is a thing of the past, no new players will be coming from Origin.
Fair enough. No new players will be coming from Origin; only returning players who already have and/or re-install Battlefield froim their Origin downloads.
Regarding the .EXE idea, I should have said "consider or propose" making it an .EXE. If you specifically want a shortcut for this project, clearly it can or must be a shortcut.
I was just thinking in terms of something where the "icon" on the user's desktop could actually be a little smart and keep making the right decision or presenting a useful message if the game disappeared, or maybe use a cached DNS address if the DNS name doesn't resolve. Again, the list grows and grows....
-Trench
(although it's better to use the static IP tuia gave somewhere on this forum, in case he changes IP address again.
He gave the DNS name play.team-simple.fr at the top of the top of the Moving To Paris thread.
If someone would be able to create a simple .exe install file that will throw a quick join from desktop to the SImple BF1942 server, I would appreciate it. I want new players to be able to click on this. It should install to the desktop and join Simple FRA server. On the desktop it could be called 'Play Battlefield 1942 Online'.
Man, I wish I could stop at just wanting "one thing." If I was making an .EXE I would so want to test for all the dumb/simple things like whether Battlefield 1942 is even installed, is it patched up to date, is the GameSpy / Team-SiMPLE fix installed, is XP or older compatibility still set. And solve the "folks don't know how to download or install maps" issue by making sure they're up-to-date with any custom maps that are running, and auto-download them before launching. The list keeps growing, so I never get started.
One suggestion for anyone pursuing this project; maybe skip "as an installer" and simply make the .EXE itself be the launcher. i.e. They just throw the downloaded .EXE on their desktop, without having to "install" anything. "Installer" just makes the thing 15x bigger than it needs to be, even though the resulting shortcut is then "tiny". Whether installer or not, you'll also still need logic to find whether they installed CD-based Battlefield 1942 or Origin-based Battlefield 1942.
I am extremely lost at the moment, as I have tried downloading the game client in my PM, and nothing is working.
The "enable DirectPlay" link that nämeless provided earlier is also step you'll need to do for Windows 10, regardless of where you install or download the game from.
(The "legacy" XP-level DirectX support needed for this game just isn't enabled by default in modern Windows platforms any more. "Sometimes" Windows is able to show you a dialog that prompts you to do this when attempting to launch the game; but sometimes you're just stuck at a blank screen and the game simply doesn't launch due to absence of DirectPlay.)
If that doesn't address whatever you're still seeing, when you say "nothing is working" after downloading and installing using the link provided via PM, what exactly is "not working"? The download? Attempting to install after successfully downloading? Attempting to launch the Battlefield 1942 game after successfully installing? And at whichever point it's "not working", what happens instead of the thing that was expected?
The game browser traffic is as "normal" as the actual game connection traffic is. Possibly even "more normal", since status responses tend to be larger packets / larger amounts of data than the game traffic. (Smaller frames just have a somewhat higher potential for being intentionally or unintentionally dropped.)
Seeing the issue persist even after changing machines and changing routers, and seeing the issue only affect the browser traffic, would make me think the ISP must have changed or is testing something in relation to traffic prioritization. Which is in intentionally or unintentionally affecting the browser port ranges and not the game traffic itself.
A LAN trace (e.g. Wireshark.org) could confirm for you that the status query response actually did come back delayed or without any response at all, which means the issue is at your router or ISP. Versus being received quickly as expected but for whatever reason apparently not making it back to the application (because BF1942.EXE shows 9999 or large ping), which means something delays it inside your computer.
-Trench
If I were attempting that, I'd probably try and talk to the http://bftracks.net/ folks, and see if there is some new query/graph or other solution they could create which shows the "active players over time" question you have. Because it does seem like you want to be able to see past trends and player levels, too. e.g. If you advertise now and new player counts go up, is that you, or is that because it happens every summer? Which would involve having equivalent 24-hour data that was already being tracked before and then also after your change.
https://www.gametracker.com/games/bf1942/ is also tracking that information, but I wouldn't really expect them to be as helpful or flexible. I did contact them last year looking to see if they set aside any of their ad space on gametracker.com itself for servers or games that wanted to advertise, but they didn't seem interested in giving away their money space to the games that give them a money space. Or at least not one with the player levels of Battlefield 1942 / Desert Combat.
-Trench
Does anyone know the formula that is used to calculate the "Score" column on the generated HTML pages?
I assumed it's just addition of the "Score" value logged for the player at the end of each round. i.e. Their score, versus their kills, versus their deaths. Each one of those values are being separately added together to create a total core, total kills and total deaths for all of the the rounds that have been logged for this player.
What are you observing that suggests it might be something other than that?
-Trench
EDIT: Clarification of "Are all simply being added together."
If I have two different statistics.csv files from two different servers, would it be possible to merge them somehow and generate stats for the two servers.
It "looks" like it should be fine? It does appear to be "intended" for a single server's stats, but it seems like the only thing that would really be affected in a way that creates misleading results is the server stats for "time of day".
In the second .CSV file, just skip the first two lines (the "header rows" that simply describe what's in each field) and cut-n-paste the rest of the file content into the end of the first .CSV and see how it goes. Using a copy of the .CSV files and not the originals, of course.
-Trench
EDIT: A word
But the few mods that need 98 instead of NT compatibility will override that unfortunately and only show old res modes
Hey Mista. Follow-up on bud's line of questioning, because "what mod actually requires this" is interesting, and wondering whether it's truly "requires" versus "is recommended."
There isn't anything you're going to do about this within the controls Windows provides end-users for compatibility mode, so long as you continue selecting "Windows 98" compatibility. Nor is there anything the fixed SiMPLE BF1942.exe is going to be able to do about it, since the widescreen fix is enumerating the resolutions available through Windows. (And setting Windows 98 compatibility has limited the resolutions available through Windows.)
There is an Application Compatibility Toolkit available for Windows which lets you play with enabling just individual compatibility shims for an application, rather than the pre-packaged sets of compatibility shims that are represented by selecting "Windows 98" compatibility mode, "Windows XP SP3" compatibility mode, etc. Not exactly fun or obvious stuff, but technically it can be done.
Ostensibly, with that toolkit, you would be able to put together a set of shims that "does everything selecting Windows 98 compatibility does", but without including the change(s) that will effectively limit what video modes the application is allowed to see as selectable. However, then the question becomes, "is a limit to the resolutions that are available actually required in order for the mod to work." Meaning once you stop limiting the resolutions, is the mod you were setting "Windows 98" compatibility for going to break due to seeing higher resolutions, and is why they were recommending it in the first place.
-Trench
Yeah this is a weird one alright. I sent you a pm so you can take a closer look at those files.
Two conclusions:
BFStats can't parse a date from 2010 or later.
If BFStats can't parse the first date in the file, the entire file is declared unparseable. (Presumably because he wants to compare each later entry against the time stamp(s) collected, but the initial time stamp collected was invalid. So this perpetually fails for every additional line parsed from the file.)
A current three-day statistics.csv file from my own Windows-based server also fails to parse with the same "file is empty, cannot generate any output" outcome. So was able to rule out "from a Windows server" as constant for success too. After seeing java.lang.NumberFormatException errors being thrown in addition to the java.lang.NullPointerException error, the focus shifted towards all the various numbers being logged, and the difference between the successful and failing statistics.csv files.
Changing the first time stamp from the 2018 log file to replace the "1" with a "0" so that the date is 2008, and leaving the rest of the file untouched with still-2018 time stamps, and my Windows server's log now parsed and generates stats. However, the generated stats are incomplete, and the java.lang.NumberFormatException errors continue to be thrown for the remaining 2018 date stamps in the statistics.csv file. If you search and replace all the 2018 dates with 2008 (or anything under 2010), then zero errors are reported when running BFStats and complete stats are generated.
You should be able to confirm this with the failing Linux log example you had sent. The first time stamp was 2016, and fails to parse the entire file. Change that time stamp to 2010, and confirm BFStats still fails to parse the entire file. But change that first time stamp to 2009, leaving the rest of the file untouched, and now the file parses and generates output. But the stats aren't complete. Replace all "201x" time stamps with "200x" (i.e. 2016, 2017 and 2018 become 2006, 2007 and 2008), and you'll see no errors reported, and the HTML pages generated will have a huge number of additional stats compared to when you only fixed the first line.
EDIT: Missed confirming that the Windows example you sent "parses successfully", because the first date in that file happened to already be 2006. The stats generated are incomplete, however, since the remaining 2018 dates all throw java.lang.NumberFormatException errors.
-Trench
Hmm. Line endings certainly would have fit with "it fails on every single line, such that by the end it thinks there were a total of zero valid lines." So if it's not that, then there "must" be some more obvious difference in the data, such as quotes used in one where quotes weren't used in the other; a different number of total columns; or some other difference that "is true for every single line."
If you wanted to PM your Linux versus Windows examples, I'd be interested to try and identify the difference too. If the data in the examples you have isn't something you want to disseminate, that's understandable as well. It would need to be as an attachment or something else that preserves the binary format the files, so maybe admin at ea117.com is the better way to send, if you do.
Yeah, since he had ping and score stats, nothing seems logical about why that one line would have an unknown IP or unknown key hash. In the short time I've been running CSV logging, there have already been a couple times where at the end of the round it simply says "unable to save CSV stats" instead of appending them as expected. So could just be buggy.
Found an old windows generated csv file and tried again.
http://37.187.19.136/stats/index.html
Great find. Perhaps it's just line endings then, if the difference isn't visually obvious? i.e. CR/LF versus LF-only.
If so, then simply loading up the CSV file in an editor like Notepad++ and using Edit | EOL Conversion to change the line endings might let Mamba run his existing log files through the tool. Specifically, if this is the issue, we're expecting that loading the file into Notepad++ will show down in the bottom status bar that the current line endings are "Linux (LF)", and from the Edit | EOL Conversion menu you would select "Windows (CR LF)" and then save the file with the updated line endings.
EDIT: I've only just now even turned on CSV logging on our Windows server, and never had it running on the Linux servers. The Windows log does confirm being CR/LF, as typically expected for Windows platform.
Well that sucks... any other way to generate stats?
I haven't run any scores/kills/deaths stats to recommend anything first-hand.
I see https://selectbf.sourceforge.io/ and https://github.com/SiphonSquirrel/jepperscore out there, but they don't appear to be for the faint of heart technical-wise. (I believe selectbf must have been the one bud was referring to earlier.) These systems are also for collating BF1942's own more extensive event/XML logging and not the BFServerManager CSV logging.
If you were happy with the data that was promised from just the CSV logging (just maps, players, kills, deaths), the only way I know to collate and put that into human-readable form like BFStats was going to do would be to write something yourself.
Its supposed to put the result in a database, like MySQL
Does that actually apply to this particular tool? Because the readme file seems to describe exactly what I would expect, in that it simply converts the CSV data into an HTML page representing that CSV data. i.e. The CSV file "is the database" in this tool's case.
If creating or configuring a formal SQL database was involved, it seems like that would need "at least a passing mention" in the readme. But again, I haven't used this specific tool. I just know I wouldn't need a database in order to do what this tool says its going to do.
-Trench
The "Java.lang.NullPointerException" is saying that something went critically wrong for the BFStats Java code when attempting to parse the line from the .CSV file. And so it's ignoring the line as potentially "invalid." But this happens during the parsing of every single line. And so with 100% of lines ignored, BFStats declared "the file is empty" because there were no valid lines processed.
No, I've never used BFStats and don't know what it will take to solve this. My guesses would be that possibly the Java runtime itself has long-since closed some security hole or bad coding that this application used to get away with. Or that the data being generated into the .CSV doesn't contain data that BFStats always assumed would be there, and doesn't parse correctly without.
The BFStats program appears to have been created before BFServerManager 2.01 was out, so possibly its some difference in the format of the .CSV logging as compared to 2.0 or similar. Maybe if you can temporarily run with 2.0 and generate a .CSV log from that, to compare against your 2.01 logs. If there is a specific difference, even though you can't fix the BFStats program, maybe you can manually or via macros edit your 2.01 log files to be consistent with the 2.0 format before presenting them to BFStats.
I don't decompile or write Java code, so that's as far as I can reasonably guess.
I'll be interested to hear from anyone with actual expertise or experience using it, too. I've never run with it, and never tested what actually was or wasn't necessary.
The understanding I had read somewhere and "made sense" to me was that you're not literally "checking the client RFA files against the server." Because for any server that is running a dedicated server installation (using literally the dedicated server installation files), your RFAs don't match the client game RFA. Because the dedicated server versions of the maps don't have the textures, etc., presumably to save server memory footprint.
What I recall is that you actually have to generate the contentcrc32.con list of hashes yourself, against the set of map files that you wanted to allow on the client side. Which again "made sense", because I could also have server-side modded maps which intentionally don't match exactly what the client has, or what comes with the default game installation. (Searching on "generateMapListForCrcContent" or more loosely "contentcrc32.con" appears to confirm this.)
The reasoning for using content check, as I understand it, is to prevent someone from running with an intentionally modified local set of map objects that gives them any kind of advantage. e.g. Textures now mostly transparent so that I can see through things; enemy skin now blaze orange so that when they're moving or hiding against colors they normally blend with I can still see them, etc.
But I assume that means you could also create trouble for folks who are running BF1942HD or similar, where the differences are "intentional." Not sure if you can list more than one allowed hash for the same map in contentcrc32.con, so that someone with "original code" and someone else with "approved modifications" of the same map are both allowed to connect.
-Trench
The person with the best bandwidth lowest latency always wins has some advantages.
FTFY. "250Mbps" is a measure of throughput, not latency. When your ISP moves you from 5Mbps to 25Mbps to 50Mbps to 100Mbps to 250Mbps, that doesn't change your latency. (Not talking about switching ISPs or hardware; just "upgrade to a 10x faster plan.") Your in-game ping does not "go down" corresponding to your throughput now being 10x higher than it was before, because that's not what higher throughput means.
Your sustained throughput (download a file, concurrent people streaming, etc.) is going to be great by upgrading to 250Mbps. But your ping is expected to be the same as it was before.
-Trench
A ssl certificate is not that cheap either depending on where you host, ivé made certificates for my own use, but it does looks ugly everytime the browser complains about it not being safe. A newb seeing this would certainly hesitate to go further
Yeah, creating your own private CA or simply creating a self-signed certificate "gives you a certificate", but doesn't serve the purpose of providing a TLS/SSL certificate that users of your public web site would trust. The certificate has to come from a certificate authority that the web browser / operating system platforms already trust (which is the "money required" option), or you would have to convince your web site users to manually install and approve your "rogue" self-generated certificate as trusted.
Services like Let's Encrypt aim to provide free TLS/SSL certificates that many operating system and browser platforms will already trust, because Let's Encrypt was able to get one of those publicly-trusted companies (IdenTrust) to sign one of their issuing certificates, such that certificates which chain to Let's Encrypt's issuing certificate end up being trusted by default. (So long as the base platform trusts IdenTrust to begin with.)
I think we can consider this "charity at the TLS/SSL certificate level", with the aim of making more sites able to encrypt where cost of yearly certificate renewal would have been a barrier. But it does still require control over your HTTP server in order to implement it, or at least cooperation from your hosting provider even if you don't have "full" control.
But what you'll notice is missing from the list of host providers with Let's Encrypt support are those major hosting companies where "money from selling TLS/SSL certificates to those sites that need it" is part of the business plan, and part of how the hosting itself can be priced where it is.
Guess the results speak for themself..
Unfortunately, they do not. You're looking at the speed improvement of a web server that implements HTTP/2, and a web browser that supports HTTP/2. Not the difference of "HTTP versus HTTPS", as the site is otherwise worded to portray.
-Trench
why you didn't? Old Forum software? Lazy?
You forgot to list "money" as a possible reason. Its not uncommon for phpBB hosting services to be giving you access to control your application, but not the underlying HTTP server. And to want to charge you per month for supplying the certificate and configuring the HTTP server to use it, as one of their value-added services. So "how many $$$ per month is reasonable just to protect already-hashed passwords" might have been weighed.
-Trench
try this (use a private window to prevent image caching) https://www.httpvshttps.com/
That site seems like some weird agenda for how to present "HTTP/2 will make your web sites faster." Instead they attribute it to "encryption is making your site faster", when the speed difference being shown is all due to HTTP/2 and not the encryption.
For a site named "HTTPvsHTTPS" and explicitly stating "encryption is faster", the test to prove that point would have been to use HTTP 1.1 encrypted vs unecrypted. Which would have shown just a negligible to noticeable overhead of "all the same HTTP things are occurring, but now additionally encrypted and decrypted at each end."
The bottom line is still "who cares", since the reason you'll encrypt has nothing to do with whether it will make your site any faster. But with a nagging question of "but then why misrepresent the information?"
-Trench
A Bittorrent connection was the only real "practical" use I had thought of right away for what a "private citizen" might do that would approach 10Gbps capacity. i.e. Where you're not just downloading from a single host and hitting that remote host's own 100Mbps bandwidth; but rather hitting 25 peers and each of their own individual 100Mbps bandwidths concurrently.
Indeed, it can't and won't change anything about your Netflix or gaming experience, etc., because none of those applications are hitting your current 100Mbps bandwidth threshold, either. Having an awesome connection can't make something that only wants to move 1.5Mbps of data per second go any faster; it can only allow you to do more of those things concurrently.
So instead of "my wife and kids get on Netflix and my game connection goes to shit", now you can have a dozen wives, and a hundred kids, before you would notice that. So that's who they're marketing 10Gbps at for the home user: polygamists.
I think last I looked, when we had ~25 people on a Battlefield 1942 server, the server was only sending 2Mbps up and pulling 1Mbps down. That's the entire server, not just a single player connection. So yeah, 10Gbps is definitely not changing anything about our Battlefield 1942 lives any time soon.
-Trench
Where to buy a 10Gbit/s network card?
At the low end, I would say this: ASUS XG-C100C 10G Network Adapter
I don't think informing what is the new IP address helps at all, because few, if any, players connect to IP, but by server name, what do you think?
For what it's worth, that's something we pondered in EA117's recent IP address change(s), too. Let me know if you're seeing results that contradict this, but I feel like the problem with "only worry about name" will be because of how the Battlefield 1942 client treats "Favorite" server entries.
If you tell someone "use the Update button, and then look for the new SiMPLE entries", they will press Update and then say "I see them! I see the SiMPLE entries!" But they're seeing the ones for the old IP address that were marked as "Favorite", and don't distinguish that they're truly "new" or for the updated IP address.
Making the person aware of what IP address they're expecting to see on those entries, and to be sure and un-mark the old entries as Favorites and mark the ones with the updated IP address as their new Favorites, seemed necessary.
Like we tried to explain in http://ea117.com/texas. Please feel free to nuke this line if you'd rather not have the link here.
-Trench
So to fix some crashes at start of map and alt+tab some have suggested trying to run in window mode. I have that, but how do i make it maximized? I'm unable to click the maximize button because it just brings me to control the mouse on the game's window :-/
In the shortcut that you use to launch BF1942.EXE, on the "Shortcut" tab of the shortcut's properties, for the "Run" field select "Maximized" instead of "Normal window". That doesn't solve anything about "I'm unable to get mouse pointer control outside of the game window", but should make the game run in a maximized window that is completely within view of your desktop. (i.e. Solves at least one of the things you wanted to do with that mouse control.)
-Trench
Turns out windows have a set value of dynamic UDP ports.
...This command sets the dynamic port range. The start port is number, and the total number of ports is range. The following is sample command:
netsh int ipv4 set dynamicport udp start=10000 num=1000
That definitely sounds like a great idea for trying to side-step the problem, either while the ISP is trying to find the actual root cause, or in case they never identify or resolve the root cause. Pondering all the steps to include for ziba128 to turn this into a full-fledged test, what I came up with was the following. Let us know if you see something different you had in mind:
1. First, let's simply determine whether opening a rule to any set of local UDP ports even side-steps the problem. Meaning, when we have a Port Forwarding rule allowing unsolicited inbound communication to the ephemeral ports (whatever range they might be in), does that truly avoid the "small 55-byte UDP replies appear to be dropped" issue behavior?
2. So without even using NETSH to try and override any of the existing Windows TCPIP stack parameters yet, simply go to the router management and create a Port Forwarding rule with a start port of 40000 and an end port of 65535 for UDP only, and to be forwarded to those same ports on 192.168.1.10 or whatever the Battlefield 1942 machine is now. Note you specifically want "UDP only", and not "Both" (meaning TCP and UDP), in order not to interfere with TCP communication.
3. Restart the router just for good measure, and confirm the new Port Forwarding rule still exists. Then attempt to play Battlefield 1942 and see if the success rate is now 100%, or substantially changed in any way.
4. If that test WORKS, then bud's approach of actually changing which local ports the Windows machine will use for UDP is probably best, or even necessary, if you intend to share this Sagemcom router's Internet connection with other devices besides the Battlefield 1942 machine. i.e. We can't just hijack "all 40000-65535 UDP traffic" and always send it to 192.168.1.10, because it might have been a conversation initiated by some other device you're sharing your Internet connection with. So we'll want to move to a range that doesn't fall within default local port usage, giving us less chance of hijacking some other device's communication and causing it to fail.
5. On the Windows machine with Battlefield 1942, in an Administrator Command Prompt issue the command "netsh int ipv4 set dynamicport udp start=28000 num=1000" so that local UDP ports 28000 through 29000 will be used. Arbitrarily picking a value a bit higher than 10000, just because the lower port ranges (typically less than 10000 though) are where well-known services live or create their listening ports.
6. Now delete the previous Port Forwarding test rule from the router, and create create a Port Forwarding rule with a start port of 28000 and an end port of 29000 for UDP only, and to be forwarded to those same ports on 192.168.1.10 or whatever the Battlefield 1942 machine is now. Note you specifically want "UDP only", and not "Both" (meaning TCP and UDP), in order not to interfere with TCP communication.
7. Restart the router and the workstation. Make sure the new Port Forwarding rule still shows on the router. In a Command Prompt on the workstation, use the command line bud provided of "netsh int ipv4 show dynamicport udp" to confirm whether the UDP port change actually persists. (The change should persist across reboots.)
8. Test whether running the Battlefield 1942 game now remains successful.
The main "bad thing" about this approach is that we're having to create a Port Forwarding rule that allows "all unsolicited inbound communication" on these UDP ports, regardless of whether that was a range starting at 10000, 28000 or even the default 40000 through 65535 range. Meaning these ports are now "open" to anything attempting to reach your machine on those ports, 24/7, due to the new Port Forwarding rule.
The ongoing root cause, and actual problem, is that the router and/or ISP does not seem to be correctly dealing with "there is a UDP conversation established" when the server sends "small" replies. That reply should have been allowed through automatically, because of the outbound communication the workstation had just performed. Without having to establish any Port Forwarding rule, and without having to leave the port open 24/7.
However, "force my Windows machine to a non-default UDP port range, and then explicitly allow any inbound communication to those UDP ports though the router" might end up being the best workaround we have -- if that approach actually works -- in absence of a solution or identification of the true root cause.
We had also mentioned in PM earlier that using a VPN service (e.g. privateinternetaccess.com, or one of the many others) could potentially bypass whatever issue is occurring too, provided that your router and ISP actually allow the VPN service to be used successfully. However, the potential issue then is that some Battlefield 1942 servers are going to frown upon seeing a VPN address attempting to connect to their server, because that's the approach many bad actors use to mask their identity and intention to exploit the server.
-Trench
A test to confirm that connecting to a Battlefield 1942 game server between two Windows machines within the local network (i.e. not dependent on going through the router or ISP) certainly doesn't hurt.
Note the fact that the local LAN trace doesn't show the server's replies (which the server-side LAN trace confirms actually are happening) is an indication that the Windows machine's the network interface never saw those replies. As opposed to something locally within the workstation blocking the application from receiving the reply. Meaning, the LAN trace is showing the reply is blocked somewhere before the Windows machine's network interface, which would be the router or the ISP itself.
You're right about there still not appearing to be any consistency or pattern to "which local/ephemeral port numbers fail." When connecting to SiMPLE, 51272, 51273, 56693, 56696, 56698, 55734, 55738, 55740, 55742, 55744, 55746, 55748, 55750, 55752, 55754 and 55756 all failed. Technically a connection from 55736 "worked", although the game ultimately still failed to connect, because the reply that was allowed was delayed longer than the application would wait for it. The successful connection to SiMPLE then happened using port 55758.
Connecting to EA117, 63007, 60122, 60124, 60126, 60128, 60130, 63159, 63161, 63163, 63165, 63169, 54001, 63169, 54003, 54005, 55222, 55224, 52579, 52581, 52583, 52585, 52612, 52614, 52616, 52618, 52620, 62912, 62914, 62916, 62943, 62945, 62947, 49684, 49685, 49687, 49689, 49691, 49693, 49695, 49697, 49699, 49701, 64618, 53818, 53820, 53822, 53824, 53826, 53828, 51442 and 51444 all failed. The successful connection to EA117 then happened on 51446.
So even though 5127x ports failed, 51446 succeeded. And even though 5522x ports failed, 55736 and 55758 succeeded. Just didn't read like "there is a block of ports that always work when the workstation happens to attempt to use them", and seemed more consistent with a dynamic decision to allow the traffic.
-Trench
The best conclusion I can make out of the LAN traces provided is that there is an issue, either at your router or at the ISP, which tends to block the UDP port 14567 replies "unless those replies are large." Meaning, 556-byte replies always get through successfully, but smaller 55-byte replies rarely get though. The "random" occasions in which you can successfully connect are occurring when "randomly" a small 55-byte reply actually is allowed through back to your workstation. Once one of the small replies is allowed, all of the small replies are allowed, for the duration of that connection.
For your email description to the ISP of what the issue is, I would suggest a summary along the lines of:
When the customer is attempting to connect to Battlefield 1942 game servers through their Sagemcom F@st 3686 cable modem and AKADO-Stolitsa ISP, the attempt usually fails. "Randomly" the connection attempt will work, typically after trying dozens of failed attempts.
With help from one of the public Battlefield 1942 game servers, it has been confirmed that the communication to and from the Battlefield 1942 game server's UDP port 14567 is ALWAYS able to successfully occur between the workstation and the server, but ONLY when the transmitted packet size is "large."
For example, even though numerous 55-byte UDP port 14567 responses were sent from the server back to the workstation, NONE of those responses actually reach the client workstation. But every 556-byte UDP port 14567 response sent from the server back to the workstation ALWAYS reaches the workstation.
But then "randomly", one of the small 55-byte UDP port 14567 responses actually DOES reach the workstation, and it’s in those cases that we see "finally a successful Battlefield 1942 game connection, after dozens of failed attempts."
Therefore it seems like something in the Sagemcom F@st 3686 cable modem configuration, or something the AKADO-Stolitsa ISP is doing, is "usually" preventing "small" replies to UDP port 14567 from being able to pass back in to the customer's workstation. Notwithstanding that "sometimes" it randomly works even for "small" replies, too.
I'm also sending you an isolated failure & success LAN trace example by PM, along with detailed notes on that LAN trace. But I would not try and start your conversation with the ISP with that LAN trace. Letting them know you do have a LAN trace if they want to see it is fine, but its better to wait and send it once they say they do want to see it, and/or have a network engineer they can pass it to. It can be information overload to try and dump that onto a front line phone representative, and may slow down or confuse the issue.
Too bad there isn't a clearer answer, or obvious setting you could change to resolve the issue. This feels like it would probably be an issue of the NAT inside the Sagemcom router itself, which is one obvious place where "automatic decisions of what to forward and what not to forward" are happening. Despite the issue seeming to be related to "packet size", it doesn't seem like any "minimum MTU" (packet size) configuration of the router is in play here, else it would be failing 100% of the time, and not "randomly working."
But it still could be something at the ISP itself too, and not the router's fault. For example, some kind of automatic "denial of service" protection heuristics the ISP employs, that defaults to believing these "small" packets aren't valid replies, except in some non-obvious case where it "randomly" allows them.
Since we haven't been looking at LAN traces of the other games that succeed, we can't say whether this issue description "makes sense" for them too. Meaning, if we LAN traced your Counter-Strike connection attempt, would we see that all the packets are "larger" than what Battlefield 1942 tries to use in its initial connection negotiation. Which is why they're not being subjected to the same failure.
-Trench