My C&C projects throughout the years

Sean Wragg
Oct 21 · 6 min read
Image for post
Image for post

I’ve always loved the Command and Conquer series. In many ways, I owe my career to Tiberian Sun as it was primarily responsible for getting me into development in the first place.

For those unfamiliar, Tiberian Sun (and other C&C titles) were largely popular RTS games in the late ’90s and early 2000s.

I’ve been enjoying Rivals for quite some time now and with C&C Remastered released, this post is really just to reminisce about some of the fun C&C projects I’ve worked on throughout the years. Have found the code to some of these projects and uploaded it to Github, others have likely been lost forever. Let’s be honest though, it was probably junk code anyway!

Tiberian Sun Filter (TSF)

https://bit.ly/31ujXWd

There wasn’t a great way to track players back in the day and anyone could very easily spin up a new account. This small snippet would act as a relay/man-in-the-middle between the Tiberian Sun Game Client and XWIS Server and collect/associate IP information on players. It would then display all the alternative accounts they’ve used based on the association.

I learned A LOT on this project about Client/Server relationships. And how easily a Server can fault if validations aren’t put in place 😅

Image for post
Image for post
Yup, I’m KVMGuest… don’t judge me.

XWIS Player Index (XPI)

Eventually, friends wanted the same capability as TSF above. So decided to modify it and instead of writing to a local SQLite file, it’d publish to a hosted DB. Then built a UI via custom Drupal 6 modules for others to have the ability to lookup/comment on players. Cheating unfortunately also became rampant around this time. So XPI also became a way for players to identify those who played less than fair.

Image for post
Image for post
hmm.. this looks an awful lot like Symantec Connect

Legacy C&C Server Emulator


http://hawkee.com/snippet/7709/

I don’t remember when or why but, had a go at reverse-engineering the existing WOL Game Server Protocol to recreate an alternative game server, dubbed CNC:EVO.

I’m not really sure what was “evolved” about it exactly but, it was thankfully, a short-lived, alternative to XWIS — who was the official server for legacy Command and Conquer games after taking over for Westwood Online (WOL).

Image for post
Image for post

XWIS REST API

https://github.com/sean3z/api.xwis.org

I wanted to include more stats about players in XPI but, XWIS only provided stats for players via HTML.

This project scraped the XWIS site and provided the same results via JSON. There weren’t many changes to the XWIS site, in fact, it’s likey the same now as it was then. So this API worked for quite some time and may even still work today 🤣

XWIS Stats Signatures

https://github.com/sean3z/xwis-signature

With the newfound API, and since forums — and bbcode forum signatures — were the rage back then, I thought it’d be cool to provide a dynamically generated forum signature. Clearly inspired by Battlefield, these became pretty popular in the community.

The “experience” below was my first attempt at continuous ladder progression for players, as the XWIS ladder reset every month.

Image for post
Image for post

XWIS.org Leaderboard

https://github.com/sean3z/xwis.org

Building on the idea of a continuously progressive ladder, I built out a site using similar logic. This became a widely used unofficial ladder in the community — in fact, many people wanted it to become to the official ladder and were disappointed when I decided to focus on other projects.

Image for post
Image for post
Image for post
Image for post
Had to find screenshots via the Wayback machine!

XWISAdmin Web Interface

https://github.com/sean3z/xwisadmin

Given my XWIS hijinks and contributions to the community, I earned a spot on the XWIS Help Team, and shortly after was promoted to the XWIS Admin team. The way the XWIS Admin bot was controlled was outdated at this point; this project converted/replaced it with a real-time Web Interface.

This was basically a websocket over an IRC-like server; nothing fancy but, better than launching the Game Client to manage the Server.

Image for post
Image for post

Tiberian Sun Facebook Admin

As part of the team, I even got to create content for awhile on the Official Command and Conquer: Tiberian Sun Facebook page. The KEEP CALM craze was coming back at this time, so naturally had to put my own spin on it…

Image for post
Image for post

CnCNet REST API

https://github.com/sean3z/cncnet-api

So by this point, XWIS was on the decline and CnCNet was on the rise. CnCNet is a great project with a lot of community support — and is likely still the best place to play legacy C&C games. CnCNet didn’t have a ladder at the time though, so this was the first “official” ladder. Unlike XWIS where I was scraping/reparsing stats, the game clients sent data directly to my endpoints via some pretty intense patches.

Image for post
Image for post
Image for post
Image for post

CnCNet Leaderboard UI

https://github.com/sean3z/cncnet-leaderboard

And what’s the point of having an API, without a slick UI to display the results? Mostly thanks to Neogrant on this one — he’s become into one heck of a Front End engineer!

Image for post
Image for post

CnCNet Client (incomplete)

https://github.com/sean3z/cncnet-client

This was a stab at learning more about Electron and attempting to building a custom client on the CnCNet foundation. Didn’t really go anywhere but, was certainly a lot of fun!

Image for post
Image for post

Westwood Online (WOL) Documentation

Conclusion

I’ve learned a lot through these, had a lot of fun, and met a lot of great people. And it’s been a ton of fun reminiscing about these projects! Command and Conquer has been a big part of my life and glad to see it making a bit of a comeback.

These days I’m still enjoying time on Rivals — and the alliance I founded (during the Alpha release!), aptly named “Tiberian Sun”, typically remains on the Top 25 Leaderboard!

Image for post
Image for post

Come join us on Discord, as we’re always recruiting!

See you on the battlefield Commander!

sean3z

Code, Comics, and Fhqwhgads!

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store