You are browsing as a guest. Sign up (or log in) to start making projects!

7h 27m 33s logged

Hello everyone new updates!!

The original mod talked to a server over raw TCP/UDP sockets (using a Java networking library called KryoNet) for things like player stats, the server list screen, and update checks. That backend was never open source and doesn’t exist anymore, so I’ve been writing a brand new one that speaks the exact same “language” the client expects matching its wire protocol message by message so the old client just works against new server code without needing to be rewritten itself.

So far that new server handles:

Player profiles (kills/deaths/stats)
The in game server list
Live player count

More message types (server-side crash reports, supporter status, the update system) are getting added one at a time as I work through them.

Networking infrastructure.

Got a relay set up so the client’s existing hardcoded connection info actually reaches the new server, DNS pointed at the right place, and both sides talking over the same ports without falling over which involved learning more about TCP vs UDP port binding and firewall/security groups than I expected to going in.

Fixed a pile of dead links. A handful of things the mod calls out to at runtime (update checks, a resource pack, some JSON it fetches for the main menu) pointed at old GitHub links that don’t exist anymore. Tracked those down one at a time and replaced them with working equivalents, including chasing down a sneaky “blocked because of the default Java user-agent” issue that looked like a permissions bug at first.

1
53

Comments 4

@arjun_

looking great!

@dfe

oh wow this looks really cool

@JishnuDutta

Which language did you use to write the server code ?

@ilfattorino

@JishnuDutta Java with the kryonet library