I am pleased to announce that I’ve partially implemented a new Netrek server in the Swift programming language!

My new server is at: tcp port 2592.
Open source at <> under the MIT license.
I’ll fork a copy over to the Netrek organization once it is more stable.

My Swift code runs on both MacOS and Linux.  I did my development on MacOS and my server is a Linux VM.  This Swift netrek server does not use any Apple-specific frameworks.

Killer feature: IPv6 support!
13:43:00.437863 IP6 2601:647:4802:1620:403b:6b8a:3c56:83c7.62183 > 2604:a880:4:1d0::47:6000.netrek: Flags [.], ack 158093, win 2041, options [nop,nop,TS val 276688522 ecr 2709993860], length 0
13:43:00.437869 IP6 2601:647:4802:1620:403b:6b8a:3c56:83c7.62183 > 2604:a880:4:1d0::47:6000.netrek: Flags [.], ack 158105, win 2047, options [nop,nop,TS val 276688522 ecr 2709993860], length 0

My existing MacOS and iOS clients also support IPv6.  If a DNS entry for a Netrek server has both A and AAAA DNS records, my Swift clients automatically try the IPv6 connection first and fail back to IPv4 quickly (this is a standard feature of the modern “Network” API in MacOS / iOS).

 % host has address has IPv6 address 2604:a880:4:1d0::47:6000

I’ve been playing Netrek over IPv6 all week!

Major known issue:

* With BRMH and Windows clients, all planets show as invisible.  I’m assuming I’m messing up the SEEN flag and will figure out what the logic is supposed to be after a short break (my Mac/iOS clients are probably showing too much and may need an update).

How you can help:

Try connecting to the server with your favorite client, and report to me (darrellroot at <mailto:darrellroot at>) whether your client works (at least to the point of dogfighting and basic planet captures).  If it doesn’t, let me know the symptoms and the exact time you attempted to play so I can check the logs.

If I can get this server stable enough, I’d love for next Thursday’s 6PM game to be on <> (with <> as backup).

Darrell Root
darrellroot at

Here’s the current feature / not-yet-implemented lists:
Not currently implemented: (in rough order of imprtance)

Logic around t-mode, genocide, coup.
Authenticating logins
Remembering statistics between server restarts
Rank logic
Metaserver compatiblity / observers
No robots (not even iggy)
Special starbase operations (docking, transwarp, rank requirements, spawn limitations, orbit limitations)
Refitting ships at homeworld
advanced cloaking visibility (1 per second, hiding far away ships)
hiding far away ships (PFSEEN flag?)
UDP sockets
Short packets
War logic (you are always at war with other teams)
reset stats
 <>Supported, but everything needs more testing:

IPv6 (and IPv4) TCP Sockets!
Speed / direction
planet lock
player lock
beaming up/down
basic cloaking
Detting friendly and enemy torps
Tractor/pressor beam

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>