Your Ad Here

Subscribe
 Post #1
 29th January 2008
Gold Member
Megiddo's Avatar
January 2005
1,663 Posts
The purpose of CPPI is to define a standard interface for prop protectors to use for easy third-party integration with any prop protector.

This is an RFC, so any and all input is valued. Let us know if you have any questions. Tell us if you make something that uses CPPI and we'll list your release here.

Download the standard at http://ulyssesmod.net/archive/CPPI_v1-1.pdf
 Post #2
 30th January 2008
Gold Member
Ryx's Avatar
August 2006
2,089 Posts
Strange, something by Megiddo that has no 'U' in the title..
 Post #3
 30th January 2008
Gold Member
Megiddo's Avatar
January 2005
1,663 Posts
Ryx posted:
Strange, something by Megiddo that has no 'U' in the title..
We wanted something with no ties to any current projects or developers. :)
 Post #4
 30th January 2008
GMOD Moderator
UberMensch's Avatar
May 2006
5,144 Posts
I think it's a good idea. Simple Prop Protection appears to work well enough, but some minimum standards for future protection scripts would be good ;)
 Post #5
 30th January 2008
Gold Member
Dennab
September 2006
7,852 Posts
I like it, I'll make sure to use it for any future things.
 Post #6
 29th February 2008
Hydroxyl's Avatar
February 2008
8 Posts
I'm planning on following this for my custom prop protection implementation as well. Looks like a good set of standards to me.
 Post #7
 29th February 2008
Gold Member
Catdaemon's Avatar
February 2005
11,590 Posts
I tried something like this before (like a website with loads of standards) but nobody gave a shit.
 Post #8
 1st March 2008
Dennab
May 2006
227 Posts
I'll tie this into my Entity Protection ASAP.
 Post #9
 27th April 2008
TehBigA's Avatar
March 2007
919 Posts
I like this a lot, especially the actual meta ties with the entities makes things a whole lot easier.
 Post #10
 28th April 2008
Gold Member
tad2020's Avatar
December 2006
1,656 Posts
So did anyone end up using this?

I had suggested something like this a while back and had a good list of get functions. Seems like Megiddo covered everything I'd like to see.
 Post #11
 29th April 2008
Gold Member
Megiddo's Avatar
January 2005
1,663 Posts
Yes, it's being used in our UPS (currently in beta testing). There were a few updates we made, let me update the first post...

Edit:

Forgot to mention it's used by Uclip as well. Also, anyone have any ideas instead of GetDate()? Seems to complicated to expect devs to do it but we should have a way to compare version numbers using relations (<,>,==).
 Post #12
 29th April 2008
Gold Member
tad2020's Avatar
December 2006
1,656 Posts
Cool, I'll make wire's new target finder use it when I get around to redoing it.

Megiddo posted:
Forgot to mention it's used by Uclip as well. Also, anyone have any ideas instead of GetDate()? Seems to complicated to expect devs to do it but we should have a way to compare version numbers using relations (<,>,==).
What is the intent for GetDate()? Just for more info on the version of the addon/mod/module? What would you compare it to? Another version number for that addon/mod/module? Or against the version of another addon/mod/module?

It would be nice to have NameFromPly(ply) too.
 Post #13
 29th April 2008
Dennab
April 2008
1,022 Posts
I never use any prop protection, just ban the bastards if they get out of hand.
 Post #14
 3rd May 2008
Gold Member
Megiddo's Avatar
January 2005
1,663 Posts
I just went ahead and removed the GetDate() from the spec. If someone really wants to compare versions badly they'll just have to use GetVersion(), though it is a string.

This marks the release of version one of the interface. Please feel free to implement CPPI into your prop protectors! Bug the author of your favorite protector to implement it! UClip is the first addon that runs off CPPI support, and UPS (though yet unreleased) is the first prop protector to implement CPPI.

If there are any changes at all to the standard we'll update the interface version number.

tad2020, by NameFromPly I assume you mean our NameFromUID() function?
 Post #15
 3rd May 2008
Kudo's Avatar
April 2008
62 Posts
I think GetOwner should be server side only. Some entity protectors don't want to share with the client which entities belong to who. Mainly because it's really stupid having to assign a networked string or whatever for who the owner is.
 Post #16
 3rd May 2008
Gold Member
tad2020's Avatar
December 2006
1,656 Posts
Megiddo posted:
I just went ahead and removed the GetDate() from the spec. If someone really wants to compare versions badly they'll just have to use GetVersion(), though it is a string.
Why not return a number instead? Versions tend to only be a short decimal number.

Megiddo posted:
tad2020, by NameFromPly I assume you mean our NameFromUID() function?
Yeah, it seems a little out of the way to have to get the UID of a player object to pass to NameFromUID. I don't use UIDs, I had some strange non-unique problems once and never tried again.
 Post #17
 3rd May 2008
Gold Member
Megiddo's Avatar
January 2005
1,663 Posts
Kudo posted:
I think GetOwner should be server side only. Some entity protectors don't want to share with the client which entities belong to who. Mainly because it's really stupid having to assign a networked string or whatever for who the owner is.
Hmm, good point. That should be optional I suppose.

Edit:

tad2020 posted:
Why not return a number instead? Versions tend to only be a short decimal number.


Yeah, it seems a little out of the way to have to get the UID of a player object to pass to NameFromUID. I don't use UIDs, I had some strange non-unique problems once and never tried again.
"tend to be" is the operative word there. Some people like to throw in alpha numeric junk too. The idea behind using uid is that it support protectors that keep track of ownership after disconnect.
 Post #18
 15th June 2008
Gold Member
Megiddo's Avatar
January 2005
1,663 Posts
Updated to version 1.1. This addresses Conna's concerns about not all prop protectors implementing certain things client side. Thanks Conna!
 Post #19
 15th June 2008
Gold Member
Vampired's Avatar
February 2005
2,327 Posts
Good idea. I must have missed this.

This may need some clarification in the CanTool function: "May not be one of the default Garrysmod tools."

To me that sounds like it must not be one of the default tools but I'm not sure that's what is intended.
 Post #20
 15th June 2008
Gold Member
Megiddo's Avatar
January 2005
1,663 Posts
It means that the value passed in is not guaranteed to be one of the default tools. IE, it might be adv dupe. I'll fix that and reupload since it doesn't change the standard any.
 Post #21
 25th April 2009
Agent766's Avatar
July 2007
972 Posts
I tried something like this before (like a website with loads of standards) but nobody gave a shit.
It's just people do give a shit about Meggido. It still is a cool idea to have a database of standards. (GMSI anyone? Like ANSI, for GMod :D )
 Post #22
 17th August 2009 Last edited by the-REAL-Mojo; 17th August 2009 at 01:19PM..
the-REAL-Mojo's Avatar
August 2009
7 Posts
Post Deleted Sorry bout that.... wrong thread
Reply

All times are GMT. The time now is 12:32AM.

Facepunch Studios 2010 - Server 'MARGE'