Page 1 of 1

Community help

Posted: Sun Mar 09, 2014 8:32 pm
by satoon101
Development of the plugin has been going very strong for the last couple months. We still aren't feature complete, but we are making very good progress.

We would like to extend an invitation to all community members to help move the project along at an even faster pace. There are a few items which we would like to specifically ask you all to work on. If you wish to work on any of this, please feel free to use GitHub's pull request feature or even just post a new thread regarding your implementation here on the forums (though pull requests are preferable).

First, we need more Authorization Services. Currently, we only have the very basic "simple" auth service implemented. We obviously need much more extensive services to handle a wider variety of servers. Bare in mind, if you are going to work on any of these, your service(s) must adhere to the following principles:

  • Your service's main module needs to be located at ../auth/providers/<service>.py
  • The main module must also include a class that inherits from auth.base.AuthBase
  • The class itself must have an implementation of load, unload, and is_player_authorized methods
If there is anything you need updated within the Auth API itself, please don't hesitate to ask. Currently, the is_player_authorized method is passed the player's uniqueid, the auth level, the auth permission, and the auth flag (the last 3 are if they are provided).


If anyone is interested, it would also be nice to have a KeyValues wrapper that interacts like a dictionary and can be saved to file (and loaded from file).


We also need more translations. Currently, we have English, French, German, Dutch and Russian translations for our core files. If you know any other languages well, please contribute by adding them to our files. Those files can be found in the ../resource/source-python/translations/_core/ directory.


Our data files are still very empty and only support csgo and cstrike. Please take the time to update them and add in any other games you wish, as well. I have tested the plugin on all of the following games and verified it works:
  • CS:GO (csgo)
  • CS:S (cstrike)
  • TF2 (tf)
  • DOD:S (dod)
  • HL2:DM (hl2mp)
  • HL2 (hl2)
  • HL2:Ep1 (episodic)
  • HL2:Ep2 (ep2)
  • Portal (portal)

We do plan on eventually adding support for more games/engines. All of the ones listed above are on the OrangeBox engine with the exception, of course, of CS:GO. In the parentheses above are the folder names for the given game. Use this value for file names when adding game support.

Posted: Thu Mar 13, 2014 11:48 am
by Omega_K2
satoon101 wrote:If anyone is interested, it would also be nice to have a KeyValues wrapper that interacts like a dictionary and can be saved to file (and loaded from file).


Around the SP C++ KeyValues class? I do have pure python implementation of KeyValues.

Posted: Wed Mar 19, 2014 5:32 pm
by MrMalinka
Forgive me if I added translation somewhere not there. I do not know how to operate the system github.

Posted: Thu Mar 20, 2014 3:14 am
by L'In20Cible
Thanks for the translations!

Posted: Sat Mar 22, 2014 2:53 am
by Doldol
On the is_player_authorized method, what would the auth permission argument be?

Posted: Sat Mar 22, 2014 8:12 pm
by Omega_K2
Doldol wrote:On the is_player_authorized method, what would the auth permission argument be?


a named permission. It doesn't have to exist, handling it would be the task of the auth provider. Unless the api changed much, but I think it's still the same way.