Welcome to jdrgaming.com Saturday, May 18 2024 @ 12:03 PM PDT

Log4j vulnerability mitigated on JDRGaming Minecraft server

There's a nasty vulnerability in the Log4j library used in thousands of Java applications, including Minecraft.

The JDRGaming Minecraft server is actually running Spigot, which is basically Minecraft plus some improvements. It's running Spigot version 1.17.1, which contains the Log4j vulnerability.

Minecraft 1.18.1 includes a fix for this vulnerability. If you haven't already, you should update your Minecraft client to 1.18.1. Run the launcher and it should install the new version automatically.

However, you won't be able to play on the JDRGaming server with a Minecraft 1.18.1 client. To do that, you'll have to create a special install of the Minecraft 1.17.1 client. The Minecraft launcher allows you to install multiple parallel client installations.

You can safely join the JDRGaming Minecraft server with your Minecraft 1.17.1 client, even though the server is currently running the vulnerable Spigot 1.17.1, because the server is now being run with a special option that mitigates (i.e. negates) the vulnerability.

The JDRGaming Minecraft server will be upgraded to Spigot 1.18.1 soon after it becomes available.

XBox 360 Haiku

I was poking around in some old data folders and found a couple of Haikus, which I wrote back when I was having a lot of problems with a series of XBox 360s.

I play my XBox
Across the street, someone farts
My disc is destroyed
An autumn session
The red ring destroys my calm
My screams deafen me

Minecraft 1.17.1

After a significant delay (due to Minecraft's new Java requirements), I'm happy to report that the JDRGaming Minecraft server is now running Minecraft (Spigot) 1.17.1.

I also performed forced full world upgrades for both the previous version (1.16.5) and then for the new version, which should minimize glitches and lag associated with block generation.

Minecraft 1.17.1 includes a load of bugfixes, mostly addressing fairly obscure issues. It also includes amusing changes like this one: "Non-screaming goats now have a rare chance to produce a screaming goat when bred".

I've tested the basics, including checking significant recent player constructions, and things seem to be okay.

If you notice any problems with performance, the world, or its contents, please use the About/Contact link above to let me know.

About base camping

Sisko sent me a video that shows someone camping at the uncaptureable Axis base on the Battle of Britain map:

The video was created using Bandicam in spectator view in a recent session on TPU. It's a good demonstration of the kind of base camping that some TPU players find objectionable.

TPU is a co-op vs. bots server, so human players should only ever attack bots. Since the object of any base camping should therefore only ever be to kill bots, and we needn't feel any empathy for bots, camping on TPU is technically allowed.

However, base camping can also be annoying to human teammates. In this example from Battle of Britain, the camping player is destroying Axis bombers before they can even take off, which means any players defending the factory and radar stations in England have nothing to do. Many players, including myself, enjoy dogfighting in a Spitfire over England, and this camping would reduce the potential for that kind of enjoyment.

The other problem with this kind of camping is that it's not very challenging. Sure, the Axis bots at their base will try to kill the camper, and the camper may not last long in that position, but while there, the camper can easily kill huge numbers of bots. So it's not much of an achievement, except for racking up kills. Padding stats like this can also be annoying for other players.

It's an interesting issue. I'm still not convinced that we need a rule against camping. Instead, I will continue to emphasize that: a) it's kind of lame; b) it's too easy; c) it's a simple way to pad stats; and d) other players may find it annoying. If a player is doing this kind of thing on TPU, and it bothers you, use the in-game chat to politely ask them to stop.

If you disagree, or have something to add to this discussion, contact me on the #tpu_server channel on the JDRGaming Discord server.

An open letter to TPU players

Based on what I've seen in server chat, and some comments from other observers, there's a lot of misunderstanding about TPU: its rules, its admins, and how it operates. This post is an attempt to provide clarification to TPU players.

The main thing I want to point out is that you can talk to me. Use the JDRGaming Discord server; that's what it's there for. If you have trouble with another player, or something you've observed about the server, contact me. Spouting off in server chat about another player (or the server admins) is not helpful. There's a fair chance that whatever pissed you off had nothing to do with the other player or the server admins. Instead, contact me, and let me know what your beef is. I have access to information and tools that you don't. I can provide definitive answers to your questions about how the server operates. I can confirm when server crashes and other server outages occurred.

TPU overview

TPU is a co-op only server; no PvP gameplay is allowed. Anyone who persistently plays against other human players will be kicked and eventually banned.

All human players are expected to be on either the Allied team or the Axis team. The 'human team' will then consist of a mixture of human and bot players, while the 'bot team' will be all bots.

The maximum number of players on TPU is 32. Bots fill in the teams to the maximum, so at any given time there will be as many as 32 bots in total. When a human player joins, one of the bots is removed.

To make things more challenging for human players, the bot ratio is set up so that there are about three times as many soldiers on the bot team as there are on the human team. If there are no humans playing, there will be 24 bots on the bot team and 8 bots on the human team.

The bots are at maximum difficulty, again to make things more challenging for human players. In practise, that means the bots have excellent aim with all weapons, so the use of cover is strongly recommended. Keep in mind that bots are still terrible drivers; they still get stuck on scenery; they happily kill each other; and their strategy is somewhat simple-minded. So it seems only fair to give them good aim.

The human team changes between Allies and Axis every six hours. This allows human players to play both sides of every map, depending on the time of day. Map voting is enabled.

The BF1942 server configuration used by TPU has been patched so that rounds do not restart when a second human player joins a round.

Myths and incorrect assumptions

I've read some truly bizarre things when monitoring the in-game chat. Let me just clear a few things up.

Kicking players for being on the wrong team

There is currently no automated kicking for being on the wrong team. I've been testing some ideas along those lines, but nothing is in place (yet). If you get kicked, it might have been the server auto-kicking you because of your team-killing, or for having a negative score. But only a human admin (often not actually in the game but monitoring from the console) will kick you for being on the wrong team. For now.

Multiple people connecting from one IP address

There's no reason to assume that multiple players joining from one IP address is evidence of malicious intent. When there's more than one computer in a household, they will all appear on the same IP address. I know for sure there is at least one household that has three TPU players who sometimes all play at the same time.

Connecting from multiple different IP addresses

Changing your IP address is one way to get around a server ban, at least temporarily. But there are also legitimate reasons why the IP address you use to connect to TPU might change. Your Internet Service Provider (ISP) may arbitrarily assign a new IP address to your modem/router. You may be using a VPN, for which there are many legitimate use cases. You may be playing from several different locations. The point is that you shouldn't assume that a player connecting from multiple different IP addresses is doing so to evade detection.

Using more than one player name

It's very easy to change your player name in Battlefield 1942, and many players have several player names that they use regularly. Yes, doing this can help to get around server bans, and it's confusing for other players, but you should not assume that there's any malicious intent. I personally only ever play as [TPU]Boot13.


The Battlefield 1942 'keyhash' is basically your game's CD key. It was originally intended to uniquely identify every legitimate copy of the game client.

When you join a multiplayer server (PvP or co-op), your BF1942 client's keyhash is compared against other clients connected to that server. When a duplicate keyhash is detected, the client shows the 'Invalid CD key' message.

Unfortunately, it's now very easy to generate a new, valid (yet completely illegitimate) CD key (keyhash). However, since there's basically no legitimate reason for changing your keyhash, any player who uses multiple keyhashes should be viewed with suspicion. They may be trying to get around bans, or they may be trying to evade detection by server admins and other players.

On being kicked from the server

Admins don't arbitrarily kick people for no reason. If you've been kicked, there was a reason. You may not agree with it, in which case you can contact me and explain your point of view, or you can always play elsewhere. Also, keep in mind that when the server crashes, it may look like you've been kicked, but that's not actually what happened.

Kick voting

Kick voting is currently enabled on the server. The idea is that when a player is being disruptive, or playing on the wrong team, the other players (at least 60% of them) can vote to kick that player. That's useful when there are no admins monitoring the server. Sadly, this feature has been abused in the past, and I even disabled it for a while.

Abuse by admins?

Admins don't intentionally mess with players except in extreme cases (don't ask). If you suspect that an admin is not treating you fairly, please contact me and I'll look into it.

TPU rules

To reiterate: TPU is co-op only; no PvP gameplay is allowed.

Base camping

Base camping is allowed. On PvP servers, base camping is usually not permitted, because killing another human player just as they spawn is clearly unfair, and incredibly annoying. On TPU, we always play against bots, never humans. And we don't need to be concerned about being nice or fair to bots.

Full disclosure: until recently, the official TPU rules included one against camping. But it wasn't really a hard rule, and the wording been changed to make it clear that camping is actually okay.

Of course, padding your stats by killing huge numbers of bots as they spawn isn't exactly a demonstration of your skill. There's just no way to make it sound like an accomplishment. So you may expect some ridicule from other players when you do this.

Using medpacks

'Medpack gaming' is allowed. I hadn't even heard of this until recently, when a regular TPU player was complaining about it in server chat. Apparently some players get upset when other players use medpacks. I suppose I can see how some players might not like it when another player is able to heal themselves, but that only makes sense on a PvP server, which TPU is not.

Being AFK (Away From Keyboard)

Normally this is not a problem, and everyone has to take a dump once in a while. But staying AFK for an extended period causes problems for other players. In particular, it messes up map voting. So, please don't stay AFK for more than a few minutes at a time. If you're going to be away longer, please disconnect and re-join later.

For a complete list of the TPU rules, see the TPU rules page on the JDRGaming site.

Server crashes

The Battlefield 1942 server that runs TPU crashes frequently. It's configured to restart automatically, but there's often no warning about crashes, and no way for an ordinary human player to know that the server crashed. Unfortunately, some people assume instead that they've been kicked.

There are a number of reasons why the BF1942 server crashes. The server contains numerous bugs, and since development and support for the game stopped long ago, there will never be official fixes for those bugs. The good news is that there are some dedicated (and skilled) people out there who are able to provide unofficial patches. The BF1942 server software run by TPU has a number of unofficial patches installed, including several that prevent known hacks.

Additionally, it seems clear that many of the bugs that cause BF1942 server crashes are related to the use of bots. This explains why PvP-only servers (with no bots) are often more stable than co-op servers like TPU.

Sometimes the server crashes because a player gets pissy and uses a known (and sadly unpatched) exploit. There are also ways to crash the server using DDoS attacks, many of which have been used against TPU. I'm always looking at ways of mitigating such attacks, and reducing the amount of server down time that typically results.

Logging and monitoring

Server logs, in-game chat, and stats are kept forever, and are reviewed sporadically.

All player actions are recorded and can be reviewed or played back using server admin tools, but this is only typically done when investigating specific player issues.

Admins and admin behaviour

I'm Jeff, the server owner and main admin. I always play as [TPU]Boot13. Long-time admin Sisko is helping out again as well these days.

Admins are often watching (chat, teams, etc.) without playing. Admins sometimes join for spectating purposes only.

Normally admins warn before kicking for breaking rules, but lately I've been kicking without any warning for playing on the wrong team, because it happens so often, and people seem to ignore admin requests. Also, the main rule is shown to joining players at least three times while joining, telling them to play one side or the other, then repeated constantly via in-game announcements. There's really no excuse for playing on the wrong team, and I've heard some doozies.

I leave the Battlefield 1942 Remote Server Manager open at all times on my desktop. It's not like I stare at it constantly, but I do glance at it regularly when I'm at my desk. Mainly I look for people playing on the wrong team, and kick them if they persist. But I also monitor in-game chat, watch for issues between players, and take lots of notes.

There's a list of current and past admins on this site.

Automated admin actions

The server will automatically kick any player with a consistently high ping value. Players with excessively high ping drag the server down, causing lag for other players. If you're on the far side of the planet with a shitty Internet connection, I'm sorry.

The server will automatically kick any player who team kills. Accidental team killing happens, so you get a few free ones, but more than a few and you're gone.

Similarly, the server will auto-kick any player who has a bad enough score. Basically, if your score is below zero and dropping, you'll be kicked.

Contacting the admin

Via Discord

By far the best way to contact me about TPU is via Discord. I have Discord running all the time on my main computer, where I spend a lot of time. If I'm at my desk, there's a good chance I'll respond immediately to a message posted in one of the JDRGaming Discord channels. Here's an invite to the JDRGaming #tpu_server channel. And here's an invite for the JDRGaming #general channel.

Via email

You can also reach me at my main JDRGaming email address: jrivett@jdrgaming.com

Using the JDRGaming web site

Another option is to create an account on this site (jdrgaming.com). Once your registration has been approved, you can log in to comment on blog posts, as well as post topics and replies on the forum.

Become an admin

Even better, you can apply to become a server admin! It can be a difficult job, but there are perks. You'll be able to kick and ban problem players, and you'll have access to more information. You'll also have more direct access to the server owner (me). Make your voice heard! Contribute! Get involved! Fill out the JDRGaming Server Admins application to get started.

Other methods

There are other ways to communicate with me and the other admins. Check out the rest of this site for clues (jdrgaming.com).

Play style

Not everyone joins TPU for the same reasons; not everyone plays the same way; there is no 'right' way to play. Yes, the general idea is to win a round, but there are many ways to contribute besides taking flags, and some people just want to dogfight, explore, etc.

So yelling at players to 'get a flag' is just pointless. If you really need to win every round, why not play a nice single player game?

Removing problem players

Banning in BF1942 is based on player name, IP address, and keyhash. Player names can be changed easily, and many players have hundreds of names on record. Keyhashes can be changed using available generators; IP addresses can be changed using VPNs. So there's really no way to truly stop someone from joining using just the BF1942 server tools.

Luckily, as the server owner, there are many other tools available to me. I can block all traffic from an IP address or a range of addresses. I can block all traffic from an Internet provider. I can block all traffic from all the IP ranges of a VPN provider. I can block all traffic from a country. And I can remove a player name from the TPU stats. I have done most of these things already in some extreme cases, most notably to get rid of a specific player for his toxic, foul-mouthed, narcissistic, petty, bad-tempered, unsportsmanlike, unhelpful, demanding, uncooperative, intolerant, self-important, hostile, and generally nasty behaviour.

In-game chat issues

The in-game chat in BF1942 can be hard to read, especially on smaller screens, older screens, and some older laptops. If a player doesn't respond to your messages, they may not actually be able to read them easily. Try all caps (seriously).

Language issues

People join TPU from all over the world. Some of those people are not able to read English. Using in-game chat to yell at people in a language they can't understand is pointless and mean.

If you really want to communicate with someone in chat, it's not that difficult to determine where they're playing from using their IP address. Hurricane Electric's BGP Toolkit works for me. Search Google for languages in that country, then use Google Translate to translate your message for in-game chat. Unfortunately, BF1942 chat doesn't handle cyrillic characters, so you might want to try using Google Translate's phonetic (transliterated) translations for Russian.

Generally speaking, we want to keep in-game chat English. If you can communicate in English, please use it, even if you're not very good at it. On the other hand, if the only other people on TPU are your buddies and you all speak the same language, have at it. Just remember that when I see long conversations in a language other than English, I sometimes translate them because I'm just so curious.

TPU stats

The TPU player and map stats are at tpu.jdrgaming.com. Your player's stats will start appearing once you've played a few rounds. If you use multiple player names, each name's stats are tracked separately.

Once upon a time, we used select(bf) for stats. Sadly, that software is now very out of date, and requires such an old version of PHP that running it is a security risk. Select(bf) presents an active PHP web site.

These days we use BFStats, which doesn't have all the features of select(bf), but does have the basics. BFStats is also old code, but it only generates static web pages, unlike select(bf).

The TPU stats are reset yearly, just after the new year begins.

Tips and tricks

There are some useful tips on the TPU FAQ page on this site.

TPU's origins

TPU is co-op only because some people (notably myself) aren't interested in playing against humans. The extra tanks and planes (server-side map mods) are because otherwise there just aren't enough, which means there's a lot of walking, and people fight over them. The lopsided ratio is to make it more challenging for humans, as is the maxed-out bot AI. Their aim is godlike but they still can't drive for shit. Switching from Axis to Allied every six hours is so humans can play every map on both sides over 24 hours.

TPU is a dedicated co-op Battlefield 1942 game server. It is open for anyone to join. All you need to play is a Battlefield 1942 game client. To play all the maps in the regular rotation, you will need both of the official add-ons: The Road To Rome and Secret Weapons (check the Files section of this web site). Although most of the maps have been modified to some extent, we have tried to make sure that no special downloads are required for joining the server. Modifications have mostly been limited to increasing the number of tank and plane spawns and swapping certain units for others (one type of plane or tank for another). More recent mods involve adding gun emplacements, moving ships around and adding subs.

Unreal Tournament 99 server change

For twenty years, I've complained that the original Unreal Tournament server has a bug that prevents a lone player from starting a round. The server sits in a holding pattern until a second player joins, at which point the round starts.

This was a problem, partly because it made testing my own server difficult, but mostly because it meant that the first player to join a server had to wait around for at least one more player to join before they could actually start playing.

Well, a kind Github user named scottadkin just replied to my request on the OldUnreal/UnrealTournamentPatches repository, pointing out a server setting that controls this behaviour: Tournament Mode.

I immediately checked, and sure enough, the JDRGaming UT99 server had this setting enabled. I disabled it, saved the change, and restarted the server. Then I ran my game client, joined my server, and hey presto, was able to start playing immediately, despite being the only joined player (the player rosters are filled out by bots on my server).

Boy do I feel dumb now. But also very happy!

Minecraft 1.16.5

Minecraft 1.16.5 was released on January 15. The new version fixes two critical stability issues. There are no additional details on the release announcement page, but it's clear that these bugs need to be fixed ASAP.

Thankfully, the folks who maintain Spigot, the Minecraft server mod we run here at JDRGaming, realized that a quick turnaround was important, and released an updated version of Spigot almost immediately.

The JDRGaming Minecraft server is now running Spigot 1.16.5. If you notice any problems with the new version, please use the About/contact link above to report them.

Minecraft 1.16.4

Minecraft 1.16.4, released on November 3rd, fixes a few crashing issues, and adds a new 'social interactions' screen.

The JDRGaming Minecraft server runs Spigot, a collection of modifications to the Minecraft Java server that improve gameplay and server administration. Spigot development always lags behind Minecraft, so the JDRGaming server stays at the previous version until a stable update of Spigot is available.

I've just updated the JDRGaming Minecraft server to Spigot 1.16.4.

Please let me know if you notice any problems with the new version. Use the About/contact link in the JDRGaming menu.

Minecraft 1.16.3

Minecraft 1.16.3 was released on September 10. According to the release notes, the new version fixes a couple of bugs related to piglins.

Last night I successfully upgraded the JDRGaming Minecraft server to the latest version of Spigot, which is compatible with Minecraft 1.16.3. The GriefPrevention plugin was also updated.

Please let me know if you encounter any new problems (see About/contact in the menu at the top of the page).

Minecraft 1.16.2

Minecraft 1.16.2 was released on August 11, 2020. The new version is a minor update, which adds a few minor features (including experimental support for custom biomes), and fixes several bugs.

See the release notes for Minecraft 1.16.2 for the details.

As usual, I waited for a corresponding release of Spigot, and when that became available, I updated the JDRGaming Minecraft server. The basic upgrade was completed on September 1, and some additional adjustments were completed this morning, September 2.

Please let me know if you encounter any problems or have questions about the new version.

Page navigation