Jump to content
Sign in to follow this  
maddogx

Uniting the Multiplayer community

Recommended Posts

Hi all.

As I've mentioned in other threads, I'm seeing some problems with the addon usage, signing, signature checking and key installation behaviour in the multiplayer and addon making community. I believe that ArmA public multiplayer gaming as a whole is suffering from a lack of understanding and common practises in this area. Signature checking and key installation varies wildly on different public servers, resulting in confusion and frustration for players. Some server admins even seem to have given up on the signature system entirely in favor of easy accessability, resulting in poor cheat protection on many servers.

For these reasons, I believe it is necessary to implement some form of standardisation in the multiplayer community. We need a publically available and commonly accepted list of public keys and addons that can be used safely in a multiplayer environment, aswell as some guidelines for all affected parties, to essure the integrity of the system. I would like to start this thread as a platform for discussing suggestions and ideas regarding such a standardisation and I will start this off by voicing the concepts and ideas I have been working on recently. I will group them into three categories of relevance:

- relevant to addon makers

- relevant to server administrators

- relevant to players

These are in descending order of complexity, meaning that addon makers will have the most guidelines, while players have the least to look out for when they want to play online. If the idea of standardisation is generally accepted, I would like to update, overhaul and expand this list as more ideas come in.

As a working title for this addon compatibility standard, I suggest the name "General Public MultiPlayer" or GPMP standard. I know, it's not very imaginative... but it's just a suggested working title.

As for my other suggestions, I've uploaded PDF files to keep this post shorter:

Suggested guidelines for addon makers (PDF, 64KB)

Suggested guidelines for server admins (PDF, 61KB)

Suggested guidelines for players (PDF, 39KB)

Now it should be noted that in order to make this system work properly, we would need to form a group of people who must somehow decide which addons are to be deemed valid. For now let's call them "the committee". These people would need to decide whether an addon can get the "okay" for online play.

Remember at this point that we do not want to check all addons for validation - only very specific ones. The following types of addons would not even be considered:

- new tanks

- new weapons

- new islands

- custom animations

- custom markers

- weapon, unit or vehicle config replacements

- full mods

These exclusions leave only a small fraction of addons that are eligable for general public MP gameplay, such as sound mods, FX mods etc. Generally addons that can be considered to be "passive" modifications, could be valid for public MP.

I am interested to hear what addon makers, server admins and players think of this.

regards

MDX

Share this post


Link to post
Share on other sites

they all ready sell ArmA on steam - might as well have steam update the clients/servers like they do other games

but i bet it would cost BIS $$$

Share this post


Link to post
Share on other sites
<span style='font-size:12pt;line-height:100%'>Suggested guidelines for server admins</span>

NOTE: The guidelines for server administrators are only relevant for servers that are to be accessable to the general public.

Up-to-date: The list of valid and accepted public keys that are installed on the server must be constantly kept up-to-date by the server admin. Whenever the list of accepted keys is changed, the keys on the server should be updated as quickly as possible. It would be great if we could automate this process in some way. Perhaps Mr. Yoma could provide some ideas for this. smile_o.gif

Recognizability: Servers that comply with the GPMP system should add an unmistakable tag to their server name, so that players can easily recognize them while browsing the server list, or even restrict the list to show only such servers. The tag should be short, unique and easily recognizable, though I currently have no specific suggestions as to what the tag should be.

I like the sound of this as it would help in working out which KEYS to add to the servers, so players can play on cheat free servers that are best we can do, without the headaches of servers crashing.

Share this post


Link to post
Share on other sites

good initiative MDX. So far only a few addon creators have signed their addon/mods.

Right now, running a server without the "condom" signature check provides, maybe together with BE si nuts, and results in server crashes (ppl still try to connect with mods that are not optimized for MP).

@ kellys-heroes we are signing all the addons/mods, and using yoma players can get all the mods that the server is allowing, together with sig files.

But that means ppl need to get yoma (witch is really easy to use, but a lot of arma players are not so technical or just lazy), then get the server details and configure the tool...etc.

Anyway, the best thing to do is what you mentioned above, where more than 1 server does this, and all the signatures are available for eveyone. The server admins, together with the addons creators need to help here. Then, the players will learn what to do easily if the base is done.

just my 2 cents

Share this post


Link to post
Share on other sites
they all ready sell ArmA on steam - might as well have steam update the clients/servers like they do other games

but i bet it would cost BIS $$$

Indeed, the entire process should somehow be centrally controlled and automated to be most effective. I'm not sure whether BI would be willing to actively support this system or whether it could somehow be implemented through Steam. Remember though, that not everyone uses Steam, so we would need to have other options in any case. I was thinking that Yoma might be our man here, since he has already created something along these lines with his addon synchronizer tools. I'm hoping that he will be willing to help out, if this idea takes off.

I like the sound of this as it would help in working out which KEYS to add to the servers, so players can play on cheat free servers that are best we can do, without the headaches of servers crashing.
Anyway, the best thing to do is what you mentioned above, where more than 1 server does this, and all the signatures are available for everone. The server admins, together with the addons creators need to help here. Then, the players will learn what to do easily if the base is done.

That is the very essence of my proposal. With any luck, the majority of people will agree with us.  biggrin_o.gif

Share this post


Link to post
Share on other sites

Actually i think the basic trick to get this kind of stuff working would be for addonmakers to start using my tool to distribute their stuff instead of gameservers using it.

This way gameserver admins could simply update their addons by syncing from the Makers and players could update from the makers OR from the MPservers.

It wouldn't be a good idea to have a site like Armaholic have all it's downloads be available via my tool, as this would mean people could "leach" the server too easily and it most likely would go down.

Even more then that:

If we somehow provided a completely automated addon upload/download/sign thingy it might even kill off an important part of the community. Newssites would effectively loose a lot of their visits. That is not what i would like at all (it's one of the reasons i link to newssites from within my tool for addon information).

I haven't tried signing an addon myself, but what i could try is make an easy addon signing tool. Just to ease the work an addonmaker has to do to get a nice signed addon.

Share this post


Link to post
Share on other sites

Yoma, I think you misunderstood my meaning. The plan isn't to use your tool so everyone has all the addons. Instead I was thinking of two programs for two completely different tasks. Neither of which would require downloading complete addons.

1. Key sync tool for servers:

A program that can compare the key files installed on a server with a reference list hosted somewhere on the internet. If there is a difference, the tool would update the keyfiles on the server by either adding the keys from the reference list, or deleting keys that are not there. Since .bikey files are only around 160 Bytes in size, I don't think there should be a problem here.

2. A validation tool for players:

A small tool that players can install on their system. It would check certain mod folders specified by a player and make sure that all addons inside those mod folders are actually signed by one of the keys provided in the reference list. The player would be alerted if any addons are not signed by one of those keys. Again, there would be no downloading of addons.

Both tools use functionality similar to parts of your Yoma tools. That is the reason why I thought you could help us out. I was thinking it should be pretty easy for you to create both tools using some of the functions that are already in your synching program.

smile_o.gif

EDIT: Just to make this clear. The plan I am suggesting is not to make sure all players use certain addons. It is more about making sure that players and servers are on equal terms, by ensuring that servers have the necessary keys and that players can easily check if they are using valid addons.

Players should still be able to choose which of the valid addons they want to use and whether they want to use them at all. Downloading them should also be done by player, and still from the usual ArmA fan sites. Servers could also still choose to host the addons using your Yoma tools, but it would not be necessary.

Share this post


Link to post
Share on other sites

1) Key sync tool for servers: can be done i guess, allthough i have my doubts on creating a SAFE repositry where basicly anyone can upload stuff to... How long will it take for some jackass to screw up your "valid keys" by simply uploading bogus keys.

Maybe i could validate the keys, but i'd have to look into the signing process itself before i can think of working that out.

If you automate the process of downloading server keys for addons, that would mean that again some jackass could simply put a key for his modded cheat addon and that your server would then allow his cheat. That would kinda do away with the goal now wouldn't it. Even better yet you would then provide cheaters with a means to GET VALIDATED.

2)This can be done allready with my tool.(If the person in question allready has the addon, my tool won't download it ... so if the person only needed the keys, he would only get the keys.)

If one wanted to only distribute addon keys with my tool, then just create a directory that has the keys and only put the keys in there?

I'm not trying to thrash the effort or anything, it's just constructive critisism. Maybe there's some amount of misunderstanding too :-)

3) Maybe we could make it easier for users to use my tool if we made some kind of naming convention which my tool can recognize. (eg addon download url somewhere inside servername) Allthough that would make servernames a bit messy i guess.

4)If i can do anything to help make using addons safer and easier in Arma then surely i'm interested, but let's avoid coding away at something that's riddled with holes from the start.

Share this post


Link to post
Share on other sites
I'm not trying to thrash the effort or anything, it's just constructive critisism. Maybe there's some amount of misunderstanding too :-)

Yes, I believe there is. smile_o.gif  I'll try and set some things straight:

1. Key sync tool for servers: can be done i guess, allthough i have my doubts on creating a SAFE repositry where basicly anyone can upload stuff to... How long will it take for some jackass to screw up your "valid keys" by simply uploading bogus keys.

Maybe i could validate the keys, but i'd have to look into the signing process itself before i can think of working that out.

If you automate the process of downloading server keys for addons, that would mean that again some jackass could simply put a key for his modded cheat addon and that your server would then allow his cheat. That would kinda do away with the goal now wouldn't it. Even better yet you would then provide cheaters with a means to GET VALIDATED.

One if the points made here is to appoint a small group of people from the community (or preferrably even BI members themselves) who would manage the list of valid keys. The trusted keys should definitely not be publically editable. These people would basically form a standards committee and only they should be deciding what keys are added to or removed from the public repository.

2)This can be done allready with my tool.(If the person in question allready has the addon, my tool won't download it ... so if the person only needed the keys, he would only get the keys.)

If one wanted to only distribute addon keys with my tool, then just create a directory that has the keys and only put the keys in there?

Well, no. Like I said, it's not about downloading addons or keys. Because there could be many valid sound mods, but the player will obviously want to choose which mod he wants to use. The tool must not check if there are missing files on his computer and then download them - it must check in specific mod folders what addons are there and by which key they are signed, then look at the public list of valid keys and make sure all addon signatures were made by one of those. Any addon that is either not signed by a valid signature or not signed at all would show an error and allow the player to automatically remove it.

Of course it would be possible to host the signature files (which are also very small) in the public repository, thus allowing the player to download valid signature files if they are there.

Still, the functionality of Yoma tools would need to be slightly modified to accomplish this.

EDIT: I know my explanations are somewhat vague. I've started writing flowcharts to show the exact functionality I am thinking of. I'll upload them ASAP.

Share this post


Link to post
Share on other sites

I see a lot of times that the latest XEH (eventhandlers that are SIGNED) dont pass into some servers. So stupid and really shows that some new system is needed.

Share this post


Link to post
Share on other sites
72 @ May 29 2008,17:57)]I see a lot of times that the latest XEH (eventhandlers that are SIGNED) dont pass into some servers. So stupid and really shows that some new system is needed.

Yep, I've experienced that too. Most of the time I get the feeling that servers either only allow standard BI content, or they don't check signatures at all. This is something I hope we can change.  biggrin_o.gif

EDIT:

Well, creating flow charts is extremely tedious for me right now due to a lack of a proper software such as Visio, so I decided to try it a different way. Here are the two hypothetical tools, created by a hypothetical person, whom I will call "Yoma" ( wink_o.gif ):

<span style='font-size:12pt;line-height:100%'>Yoma's KeySync tool for servers</span>

What the tool does:

1. Get the list of valid public keys from the online repository.

2. Compare the keys on the server with those on the list.

3. Any key that is on the server but not on the list will be deleted.

4. Any key on the list but not on the server will be downloaded and installed.

How to use:

The program should at least have a command line mode which takes any directory as a parameter. The tool will then perform the KeySync on that directory. Additionally it would be nice to have a simple GUI with which to manage multiple servers.

<span style='font-size:12pt;line-height:100%'>Yoma's QuickValidation tool for players</span>

What the tool does

1. Gather a list of addons and their signature files from mod folders specified by the player.

2. Retrieve the list of valid keys from the online repository.

3. Check each addon if it is signed by one of the valid keys.

4. If it is not signed by a valid key, the addon will be removed/renamed/whatever.

5. All addons that were not valid will be listed to the user.

How to use:

The player can configure the QuickValidation tool to check only specific mod folders. For example, a player could have many mod folders for different things, but one mod folder called "@publicmods" in which he has all mods that should be used when he wants to play on a public server. So he installs the tool and configures it to check the @publicmods folder.

Share this post


Link to post
Share on other sites

OFPEC currently have a key database. They are keeping the repository nice and tidy afaik.

Share this post


Link to post
Share on other sites
OFPEC currently have a key database. They are keeping the repository nice and tidy afaik.

A key database, yes - but I'm guessing it's full of keys that have been used to sign addons that cannot be used in a public MP game. Also, as far as I am informed, anyone can upload a key to that database, which completely beats the point of what I'm suggesting.

Share this post


Link to post
Share on other sites

I'm starting to understand where you want to go.

Making a tool that would do the things you want is quite possible i think.

Some things that will be hasardous still:

-who forms the commitee that manages the keys? (I for example wouldn't want to manage hundreds of keys)

-the total amount of data may rise more then you think: those addons that don't use a bisign key will have as much keys as there are servers that sign them (heh one case where we might actually be lucky that the game isn't that popular)

One thing that i could start out with is a tool that lets you selectively remove all non-signed addons. (this might help unwitting users clean out their standard addons folder :P)

The next step however is totally dependant on the online managed key repositry. And there are some catches as well:

what to do with addons that exist multiple times? Just multiply the keys and copy them allover?

I will however give the idea some serious thought.

Share this post


Link to post
Share on other sites
OFPEC currently have a key database. They are keeping the repository nice and tidy afaik.

A key database, yes - but I'm guessing it's full of keys that have been used to sign addons that cannot be used in a public MP game. Also, as far as I am informed, anyone can upload a key to that database, which completely beats the point of what I'm suggesting.

Maybe they can be a starting point?

Do they include MD5 hashes of the file the key points to?

If so we might have a very nice starting point!

Or do they only store keys?

Share this post


Link to post
Share on other sites

Some good points there, mate. I'll try and address them all.

Who forms the commitee that manages the keys? (I for example wouldn't want to manage hundreds of keys)

I agree, it would not be an easy task, but I really don't think it will be as much as you think. See below.

The total amount of data may rise more then you think: those addons that don't use a bisign key will have as much keys as there are servers that sign them (heh one case where we might actually be lucky that the game isn't that popular)

Well, consider first that we don't want to validate every single addon there is - only those addons that are absolutely compatible for public MP play, of which there are currently not so many. All kinds of vehicles, weapon mods, full conversions etc. are left out here, because they would require everyone to have them. We are only talking about a certain very limited subset of addons that comply with a very strict set of rules. I don't think there are very many of those.

One thing that i could start out with is a tool that lets you selectively remove all non-signed addons. (this might help unwitting users clean out their standard addons folder :P)

Good idea as a start.  biggrin_o.gif

The next step however is totally dependant on the online managed key repositry. And there are some catches as well:

what to do with addons that exist multiple times? Just multiply the keys and copy them allover?

I will however give the idea some serious thought.

The player does not need the keys, only signed addons. And if he is using the same addon multiple times, he is probably doing something wrong.  wink_o.gif

OFPEC currently have a key database. They are keeping the repository nice and tidy afaik.

A key database, yes - but I'm guessing it's full of keys that have been used to sign addons that cannot be used in a public MP game. Also, as far as I am informed, anyone can upload a key to that database, which completely beats the point of what I'm suggesting.

Maybe they can be a starting point?

Do they include MD5 hashes of the file the key points to?

If so we might have a very nice starting point!

Or do they only store keys?

Maybe or maybe not. Remember that we ideally want addon makers to create a seperate key for signing "GPMP" validated addons. Existing keys could validate a whole lot of other stuff that we probably don't want.

Share this post


Link to post
Share on other sites
The player does not need the keys, only signed addons. And if he is using the same addon multiple times, he is probably doing something wrong.  wink_o.gif

Well i use my addonsync to play at various multiplay servers.

A lot of these servers use their own e.g. @myserver addons folder. (this may not seem a good practice but really it IS good practice as addons can have multiple versions and server A can be using version X where server B can be using version Y of the same addon. This could be because version X of the mod does not conflict with other mods used where version Y does.

As you have more servers this leads to duplication of a lot of popular files. There is no clean solution for this with the current way of loading addons (the directory method).It would mean that you'd have to use a separate modfolder for each single addonfile (which i think is technically not possible, there most likely will be a limit on how many characters you can use as parameter for arma.exe).

The only way to avoid this would be to have some kind of external file listing mods to load and to load arma.exe with a parameter like "arma.exe -modlist=mylist.txt"

However i don't think BIS will go in that direction wink_o.gif allthough it would be perfectly possible to have both systems working.

So in short: the player isn't necessarely doing something wrong.

Other then that i thought the player does need the public key (not the one the server has)?

Share this post


Link to post
Share on other sites

By the way you do realise the amount of crap we could get over us when there is something wrong with the data in the repositry server.

Share this post


Link to post
Share on other sites
Other then that i thought the player does need the public key (not the one the server has)?

There are only two keys: one public and one private. The private key is owned by the creator and not given out. The public key is on the server. I wasn't aware that player clients need to install the public key aswell, but if they do, it must be the same key file as on the server. In that case, players would also have to make sure that they have all key files.

By the way you do realise the amount of crap we could get over us when there is something wrong with the data in the repositry server.

Define "something wrong with the data".

Share this post


Link to post
Share on other sites

Stuff like bad keys (faulty upload etc etc)

Share this post


Link to post
Share on other sites

here's something to consider... the average person will not download something unless they absolutely have to. and this logic goes with yoma's current tool.

now, if somehow this was possible... to connect to a server, one MUST have the tool installed and running. this way, this forces a standard in the community to install ONE thing, which is the proposed addon synching tool.

once you have that in place, half the battle is won.

now, as far as collecting a group of signitures... it wouldn't be that difficult. just have a post where people can suggest or recommend signitures. let the public debate within that thread to see if the signiture is linked to respectable add-ons.

this brings up another issue. some add-on developers make multiple add-ons that use the same signature. what if one add-on is perfect for online multiplayer gameplay but another is basically a disastrous game-breaker? i guess in this case, the commitee would have to recommend to the add-on developer to make another key...

the absolute biggest problem with a committee and a central database for acceptable keys is that the community would have to keep up to date if anything new is created that is not acceptable for online gaming and is linked with an already acceptable key.

Share this post


Link to post
Share on other sites

As a server operater all i need is a list of safe keys with download links(telling me what the addons are) which i know i can trust like Doolittle, MadDogX as i have used their anti-cheat programs before, or BI as it their game.

Share this post


Link to post
Share on other sites

Also if this was to extend to addons I would perfer only working addons as there are too many poorly done addons out there, Im sick to death of players connecting with 10 addons lol

dont they have a clue that if the server does not have the addons they are using that massive confilcts will accure

then you kick them and they come back saying wtf

If such a system does happen I bet it will only do the Stock Game, but may give the admins auto downloads like the old OFP watch

Share this post


Link to post
Share on other sites

i hat being kicked cause i have some addons installed huh.gif

especially when there are addons that doesn't get used in the server at all like sound mods or if i have new weapons that i see when i do stuff in the mission editor.

Just hate to exit the game and then load arma wth no addons or wiht the sound mod only tounge2.gif

Share this post


Link to post
Share on other sites
here's something to consider... the average person will not download something unless they absolutely have to. and this logic goes with yoma's current tool.

now, if somehow this was possible... to connect to a server, one MUST have the tool installed and running. this way, this forces a standard in the community to install ONE thing, which is the proposed addon synching tool.

once you have that in place, half the battle is won.

I agree. biggrin_o.gif

now, as far as collecting a group of signitures... it wouldn't be that difficult. just have a post where people can suggest or recommend signitures. let the public debate within that thread to see if the signiture is linked to respectable add-ons.

this brings up another issue. some add-on developers make multiple add-ons that use the same signature. what if one add-on is perfect for online multiplayer gameplay but another is basically a disastrous game-breaker? i guess in this case, the commitee would have to recommend to the add-on developer to make another key...

I addressed this under "Suggested guidelines for addon makers". It would be recommended that addon makers have a seperate key for signing these kinds of addons.

Of course there can always be problems with that. In theory the committee could be the ones signing the addons and just hosting the signatures online - but that means one person must have a special private key for signing, which means the whole committee would need to rely on that person.

the absolute biggest problem with a committee and a central database for acceptable keys is that the community would have to keep up to date if anything new is created that is not acceptable for online gaming and is linked with an already acceptable key.

Yes, that is the main issue here, and I was hoping for suggestions as to how this could best be avoided. Remember that this idea is merely a collection of suggestions. I don't claim to have found the ultimate solution to end all problems. I'm just providing the base and hoping people will jump on and improve it. smile_o.gif

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×