UDHQ's UT99 Classic Coop Server [New Gametype!]

Discussions about Servers
User avatar
Pcube
Novice
Posts: 3
Joined: Mon Dec 03, 2012 8:25 am
Personal rank: The King
Location: San Diego, CA

UDHQ's UT99 Classic Coop Server [New Gametype!]

Post by Pcube »

My friends and I have decided that it's time to pursue a Cooperative (i.e. Unreal 1 coop) server in UT99!
udhq.org:7900


A little background:
For many years (6+), I have wanted to play coop in UT99 but have been put off by having to install oldskool... I've always been a classic Unreal 1 player purely because of its once-great development community that was particularly rooted in Cooperative play. Fast forward a whole lot of time after designing countless mods and maps and I'm at a point where I have realized that getting my setup (servers, mods, etc.) working in UT99 is almost trivial!

For the passed year in particular I have been collaborating with the other UDHQ ("Unreal Development Headquarters") members on a meta-gametype called "JGrass." I could go on a lengthy discussion about what it is (which I have all over the net :) but essentially it creates an abstraction layer between the GameType interface & user created modules that define game behavior & security logic. This abstraction layer has worked remarkably well and it was only after completing it did I realize -- "hey this layer can be easily modified to compile on UT and all of my existing stuff would work seamlessly!" (in theory!). The theory holds mostly true as I had to break one API function in JGrass, which cascades into me having to touch a bunch of mutators but the gameplay itself is pretty solid!

What this means today:
I've got a JGrass w/ classic Unreal 1 style coop & "level based security" (not really relevant to this discussion) running right now, 24/7! I've played a bit on it and have noted some odd bugs that I will fix in time, but have encountered nothing critical (includes: can't use UT99 weapons, some deathmessages incorrectly formatted...). The UT99 server is linked to the Unreal 1 servers by "ChatLink" so you can chat with anyone in any other server as if they were in the same server as you.

The UDHQ server has always been a hotspot for development and collaboration. We love to "Go Where No PlayerPawn Has Gone Before" and well beyond that, and have some of the most unique (and sometimes unstable :) mods in Unreal 1 and I'd like to bring the whole thing to UT99 provided there's interest.

We're kind of in a spot where developing on Unreal 1 isn't reaching as many users as we'd like it to; the game's online playerbase has dwindled to <10 players on at any given time, often flatlining at 0. While we're still planning to support Unreal 1 we'd really like to reach out to a community that we'd like to benefit and work with in hosting and innovating on the Unreal Engine... in style. The great thing about this is that most content and maps don't need to be converted or touched and in fact the UT99 server is nothing more than a system branch from a shared resources trunk that contains resources from U1 as well as UT99.

So, if you're interested, please feel free to check out the server. The only thing we don't have totally working right now is http redirect, but we're in the process of getting the files uploaded & linked with the server (it's a pretty massive amount of files... in the GB). The download rate will be pretty crummy until we get redirect working. :(

We've also got a dedicated TS3 server up in case anyone's interested in chatting about this stuff located at "udhq.org". If you're interested in seeing what we're about and what I've done in particular feel free to check out our website (http://udhq.org) as well as my youtube page (http://www.youtube.com/unrealpcube)

Let's keep it Unreal,
-Pcube
Check out the Unreal Development Headquarters for the latest craziness being designed in the Unreal universe! Developing on UE1 cerca 2000!
User avatar
UnrealGGecko
Godlike
Posts: 2886
Joined: Wed Feb 01, 2012 11:26 am
Personal rank: GEx the Gecko
Location: Kaunas, Lithuania

Re: UDHQ's UT99 Classic Coop Server [New Gametype!]

Post by UnrealGGecko »

Well first off, welcome to the forums.
Secondly, I didn't quite get what this Jgrass is, but you sounded convincing enough for me to check it out :mrgreen: (I'm not the best at English, but I try to improve)
Good luck to ya and to all the udhq members! :tu:
User avatar
Pcube
Novice
Posts: 3
Joined: Mon Dec 03, 2012 8:25 am
Personal rank: The King
Location: San Diego, CA

Re: UDHQ's UT99 Classic Coop Server [New Gametype!]

Post by Pcube »

@GEx Thanks!

Now you've done it.. Without further ado, a small rant about what "JGrass" is... :)

http://www.udhq.org/?downloads#JGrass <-- note that this is the Unreal 1 one and won't work on UT, but has docs that explain the mod in full

Basically, servers typically have a notion of "Security" vs "Game Mechanics". The GameType class in Unreal Engine (henceforth UE) does not lend itself well to a division between Security and GameLogic rules, which is what JGrass does. It takes the GameType functions and partitions them with some (very) long thought out ideas about how a Security model and GameLogic model would play nice together without knowing about each other.

A big problem on Unreal 1 is that there are several gametypes dedicated to great security features & other gametypes dedicated towards high-end customizability -- it's practically impossible to get the best of both worlds because making a new gametype means you take responsibility for implementing both security measures as well as how the game plays out. That's what JGrass addresses. Now a modder can create a discrete "Security Handler" unit or a "GameLogic Handler" unit in isolation and the server owner can pick and choose what security model they want and what game logic rules they want.

For example... If you wanted to run a "Level Based Security" where players are either Level 1, Level 2 or Level 3, each level having its own permissions, you can do this by specifying in JGrass.ini that you want the Level Security SecurityHandler. You can then choose how your game plays out mechanics wise by selecting whatever GameLogicHandler you desire in the same ini -- you can run CTF, Coop, DM, etc... and it is guaranteed to work with the Security Handler you chose. By making these two subsystems decoupled from each other, server owners don't have to sacrifice security for playability and vice versa. A bunch of other "common problems" with gametypes are addressed as well, such as how JGrass keeps as many components server-side as possible to "hide" implementation from clients that don't need to know about it (reducing mismatches and download size). It's basically the brainchild of the UDHQ group. :)
Check out the Unreal Development Headquarters for the latest craziness being designed in the Unreal universe! Developing on UE1 cerca 2000!
MrLoathsome
Inhuman
Posts: 958
Joined: Wed Mar 31, 2010 9:02 pm
Personal rank: I am quite rank.
Location: MrLoathsome fell out of the world!

Re: UDHQ's UT99 Classic Coop Server [New Gametype!]

Post by MrLoathsome »

Hello Pcube.

Very interesting stuff there.

I have tried 227 a bit offline. (ver. I or H, I forget which)
Also very good stuff. Been almost 14 years now since I had a U1 server online.
But if I did try another, it would be running 227.

My coop server or servers have been running oldskool since back when the Dark Knight still had
the original UT Oldskool coop server online.

Been using the UTPG 440 linux install on my servers since shortly after that came out.

What exactly was it about oldskool that put you off so much you wouldn't even install it?

Also, the JGrass thing. Looks very promising.
I have always just dealt with that issue by telling players. "I am admin. You are not." :lol2:

Best of luck with this project. The more coop the merrier! :mrgreen:
blarg
[]KAOS[]Casey
Average
Posts: 30
Joined: Fri Mar 30, 2012 7:56 pm

Re: UDHQ's UT99 Classic Coop Server [New Gametype!]

Post by []KAOS[]Casey »

For one, I recently found a thread on USP that said his favorite weapon in unreal 1 was the "dual automag" when Olskool introduced that. There are many animation errors and hacks that Olskool introduces just to get shit working. It's pretty pathetic honestly. What JGrass on UT does is accomplish what Olskool should've done: make U1 work with minimal effort. From my understanding, it takes literally a one line change in playerpawn to get U1 weapons working: not a whole new class tree, gametype and spamgasm olskool does.

JGrass is a minimalistic effort to accomplish that while adding the ability to add security, a new HUD, etc seamlessly with minimal effort. Olskool makes massive assumptions and is 100% non modular, mappacks etc are hardcode hells, they aren't any dynamic lookups.