This is likely the longest post I have every made here so far. Its a overview of a deprecated coop game type. It not made to suggest you go out an change the way you already do things , It just to share my view on a platform thats some what ill considered. It took me about 7 hours to write this out in this most coherent detail. If your just a player this doesn’t interest you too much.
I am ok if you just TL;DR .
You hear me talk about it alot ,
and you see many of the mods I sometimes make require it ,
but what is xcoop?
Xcoop is Pcube ‘s older original Opensource coop gametype,
Its similar to say – Jcoopz1 , or Jcoop4 , or Mcoop , or even akcoop That you may have seen online, Its a enhanced subclass of coopgame just like tho others.
Very few servers run xcoop , Such as the uas clan , kirby’s tarvern , long journey ,jgj xcoop and my crazy server,The only 4 I know of , But that dosnt mean its not a good choice. The question on your mind is why do i want this.
To answer that question I will start with this, Currently thers isn’t many good open source gametypes avalible, the only current ones are jgrass gxcoop or xcoop, and by open source I mean that you can edit the code of the gametype to extend its usability.
Maybe this dosnt matter to you and you just wanna play the game and never mess with anything or use advanced mods.if so this likely isn’t for you. in that case I would then recomend jcoopz1, It easy and proven.
Many of us use closed source software and mods all the time whether we know it or not, The whole open source gimmick only showed up a few years of so ago. But in unreal open source is the norm, To close source your mods requires additional tools and effort, and generaly it not what normal people do, what makes close source odd in unreal is that the unreal editor stores the code in the original files as text buffers, by default.
Unfortinitly many developers seem to think it is necessary to strip out or obfusate there script for security reasons ( like zombie), Mabye there is some merit in that , but it hard to prove.
Jcoopz1 ( every bodies favorite gamtype) For example is mid-closed source , It has a limited api for allowing some parts of it to extended with strict limits.
You can use custom playerpawns in jcoopz , But they need to subclass jzplayer( which they should to follow the flow) but it requires duplicating somones work which may not be possible if .. the playerpawn itself is closed source.it also requires writing a bit of script in the playerlogin class replacemnt scripts as well.
if you want to add advanced mutators that interact with the playerpawn in ways like mutatescorekill or draw to the hud , add mutatecommands , or modfy admin commands or have mutiple tiers of admins. its simply not possible.
You can use a custom hud in jcoopz , but the original hud code is striped out so you cant properly subclass your own.
Jcoopz also has strange built in security bullshit that you cant disable as a server owner.( client anomaly comes to mind) I have contacted zombie a few times about this and his response usually involves him making a slight change that makes no difference as opposed to removing or added a option to disable it.
While jcoop may be popular and fairly feature packed. Some things just dont cut it , Those little features and behaviors bother people like me, Yeah i run jcoopz on some of my servers, mainly since that what players asked for and i have no plans to add anything more then jcoopz can support , but when my players ask me to add sothing like custom playerpawns or hud addons or want mutators that can track monsterkills, I have to tell then it not posssible or too difficult to make happen easily.
Xcoop isnt limited be anything , If you can think of somthing and you know how to make it you can add it.
Xcoop lacks some features , But some things balance out or can be changed easily
Xcoop isn’t terrible secure against certain attacks like RJA attacks by itself there no join deley limiter, But if you run it in 225 or 226 it is assumed you are running nythes already or you are a idiot. In 227 the game isnt vulnerable to there attacks.
Players summoning items are logged along with the items summon , so that admin can easily spot the asshats that summon blobs and bots to lag the servers.
Player rejection / banning:
xcoop has no temporary or pban capibility built in. there is a xcoop addon called xbansecurity that was developed to allow you to ban ranges , or ip address and also provides the banned player with a custom rejection message. xban security wont work from the server console or webadmin , and dosnt always respond to command due to mutate failing to register sometimes.
Yet again , the nytesis mod on 225/226, and or 227 offers BETTER banning in most cases be itself. 227 can ban by the players mac address , and nysis provide a rudimentary guid to ban with aswell as the ability to ban stealth. , A firewall also never hurt to block troublesoome lamers.
xcoop allows for 3 seperate user passwords , one for each adminlevel. and employs a 3 tiered admin system , where any arbitrary command like fly , summon or say , can be limited to a tier or above , so you could give normal player the ability to fly/walk , but not summon if you so wished.
You can make the lvl 3 admin a moderator or with permisions to cheat , and fly , but not switch levels.
This 2 tiered admin system also provides another level of security that other gametypes dont offer.If say some user exploits the sefver , and gains admin access ( badmin flag) then they still cant do anything since they dont have a authoriy level set , they cant set the authority level as they cant use admin set without level1 access flag the admin login is protected against bruteforce attacks with a kill/ kick system you can specify the maximum attemps before a kick or kill.
It also allows for the addition of a custom authority handler witch allows you to add whatever verification or authentication system you like , uid , ip , mac , name , whatever you can think of , its semi trivial to add more passwords and individual accounts with basic scriting knowledge. These custom handlers can be server-side to increase the security even more against exploits such as decompiling the defaults. or attempeting to read values of passwords.
custom playerpawns are supported as a optional setting , but it is highly recommended that you rewrite the playerpawn branching from xplayer , as standard playerpawns Wont follow the security changes of the xplayers.
very important to note is the fact that non xplayer pawns that login via password as any adminlevel , are givin full admin server control ( equvelent to level 1 privlidges with full admin flags) since they dont have a adminlevel flag attached to them. so choose carfully and think first.
xcoop have the ability to replace custom playerpawn request at login.
xcoop come with alot of replacable and additional addon entrypoints.
probably the best one of these , it allows modders to draw/render to the the hud with a mutator, witch is especially important to mods that need to display onto the hud such as radar , osd etc.
one of the most usfull this will rely the kill in the game and the onwers and damage types for scorekeeping of leveling mods to use.
this is another handy one , it called when the player respawn , similer to modifyplayer in ut , it lets mods modfy the playerpawn in ways such as adding weapons or inventory , or initalizing theplayer.
mutate is a easy way to add commands to you mutators for conrtoling them via mutate strings.
xcoop comes out of the box with many options
freindly fire scaling , options toggle momentum/hit blocking, support 128 map path redirects, instant respawn, saved scores to server,customizable entry/exit messages , level end sounds, sprees and spree messages and sounds, full custom text colors. optimal monster deathmessages
xcoop provides a standard custom scoreboard , that shows the standard score kills as well as player name and console and there current playing song. xcoop allows for the player to select there own colors for there scoreboard information , as well as a face texture , to show when the player chats a message.
the score board can also display a server logo or banner to advertise your server. it also allows for custom scoreboards to by used easily as well. and scoreboard class can be plugged in to entirly change the look and fell.
xcoop is easy to install , but not as easy as jcoop prehaps.
it uses xcoop.ini as base as oppose to using the games specified default config (unreal.ini) so if you have multiple presets or server setups , you can only have 1 configuration per game.
The installation involves copying a few files into your unreal folder , It requires no native mods of dependences on dlls, so thers no issues between versions.
setup after installation is simple
set admin passwords , edit autority handler, and set the defualt inventory , your good to go. but it doesn’t support adding charges or ammo in the gvieitems list so you wil need a extra mutator for that. you could use infinite ammo , or create a custom mutatorplus mutator using mutate respawnplayer,too add that functionality.
if you wish to uses the spree sounds, you need to add the xcoop sounds to the serverpackages.
- Toasty – a text phrase sound clip playing mod for
- xbansecurity -security / banning extention
- chatlink – a addon that links chat on one server to another
- dlreporter – a great 227 hud mutator that adds download status
- a invasion radar hud
- playerpowers – adds powers like fireball to player that login with a certain password
- entry and exit sounds – add sound when players enter or exit
- and more…