I think that the fact that compilation went successfully means that more than half of of job has been done.
For those who don't know whats Nephthys:
Nephthys is a native mod for unreal1 engine based servers which entends IpDrv by efficient attack blocking, banning, player logging and other features.
Features
* Integration
o Nephthys may be combined with any game type and any other server mod running simultaneously (except Kerberos)
o Nephthys replaces Kerberos completely
o Pure server-side mod: the client does NOT need to download anything nor does even know that there's a security mod running
o Nephthys may be used at clients too (though without any advantage/disadvantage)
o Remote admin control
o Native support of win32 unreal 224v, unreal 225f, unreal 226b (gold), unreal 226f, unreal tournament, deus ex, rune
* Attack blocking
o RJA (repetitive join attempt) attacks
+ Block only one IP, allow other IPs to reconnect, especially allow map change
+ don't log connection attempts from this IP any more
+ kick all connections from this IP since attack started (clean up)
+ don't kick attacking IP (yet)
+ optionally insert ban entry automatically
+ recognize when attack has stopped
+ block RQA (repetitive query attempt) attacks as well
+ block RUA (repetitive uplink attempt) attacks as well
o DRJA (distributed repetitive join attempt) attacks
+ Don't accept any new connections while under attack (reconnect is supported, even map change)
+ don't log anything
+ don't insert ban entries
+ kick all connections from since start of attack (clean up)
+ don't kick players
+ recognize when attack has stopped
+ block DRQA (distributed repetitive query attempt) attacks as well
+ block DRUA (distributed repetitive uplink attempt) attacks as well
* Bug fixes / work arounds
o Zombie (reconnect) bug attack ==> drop connection
o Unreal engine format string bug attack ==> drop connection
o Detect broken connections (ICMP port unreachable) ==> drop connection
o Auto-closing multiple connections to same player to avoid server lag with reconnecting fast client computers
* Banning
o Banning blocks a connection before opening, so banned clients can't even download stuff from server and thus causing lag nor can do other harmful things
o Bans may block the client's server query as well so the server becomes invisible to the banned client (stealth mode)
o Banning by IP (range)
o Banning by Name
o Timed bans
o Name reservation bans
o Alert new ban entries
o Alert applied bans
o Alert disabled bans
o Disable ban while admin online
o Log any applied ban
* Kicking
o Drop connection immediately
o Support kick of uploading / not yet established connections
* IP log
o Automatic logging of IPs and names (IP ranges supported too)
o Log by IP (range)
o Limit log to a fixed number of entries
o Count various events
o Admin command to ask for names of a known connection / ip
* File Upload
o Alert uploads
o Limit uploads to a configurable max. size per connection, reconfigurable during game-play
o Limit uploads to a configurable max. size of package
o Limit upload bandwidth to available bandwidth, possibly throttled down
o Admin command to ask for details of progress
* Server Query
o Additional server rules to display at advanced game clients (GameSpy, QTracker)
o Player rules may report bots, spectators and cameras additional to real players
o Attack blocking
* Master Server Uplink
o Attack blocking
o Support custom-made master servers
* UScript Interface (see documentation below)
You may write an extension mod for Nephthys using this uscript API:
o Events (UScript called by Nephthys)
+ New connection blocked
+ New connection created
+ New connection closed
+ PreLogin passed
+ File Upload
+ Login passed
+ Established connection closed (kick)
+ Logout passed
+ RJA started
+ RJA stopped
+ DRJA started
+ DRJA stopped
+ New ban entry inserted
+ Ban entry changed
+ Ban entry deleted
o Functions (UScript calls Nephthys)
+ Add new ban entry
+ IpNameIsBanned?
+ Close connection (Kick)
+ Get info of given player
+ Get info of given connection (e.g. uploading file: name, current size, total size)
+ Delete ban entry
+ Get all ban entries for given IP/Name
+ Get all log entries for given IP/Name
+ IsDRJAAttack?