View Single Post
Author Message
Oo Alias oO
Member
Join Date: Apr 2010
Old 02-22-2015 , 08:41   Sourcebans 3 - Community project, help wanted!
Reply With Quote #1

Since development of Sourcebans 2 is dead, and 1.4 is an old version which could do with a fresh face and newer features, I decided to start on the project myself as Sourcebans 3.

This has some updated features such as Steam Login & responsive design. I also plan on serving a JSON API to the plugin which connects via HTTP requests, which would be more secure and stop raw queries being directed at the database.

Currently the development is on-going by myself, using Laravel 5 and MySQL. The front-end is currently basic Bootstrap 3. Below are the features, and screenshots of the current progress:

https://github.com/sourcetools/sourcebans

Installer

Private details (database, SMTP) are stored within an untracked .env file. A global screen will appear if a database connection cannot be established with these details.

With correct details, an installer screen is shown, allowing a user to login, set the application settings and proceed to migrate the database tables with seed data.

This is complete, however needs an application key check adding.

Steam Login

In order to add reports/appeals you must login via Steam. If you are added as an Admin, when you login you'll have access to the Admin backend.

This is complete.

Web/Server/Command Groups

Web: Add groups, by selecting certain permissions (adding admins, editing servers etc).
Server: Add groups, by selecting certain flags.
Command: Command groups allow custom commands to be created in groups, and then the groups assigned to flags.

This is complete, but may need some tweaks.

Web Permissions

This works by checking a users web groups. A global "hasPermission" function allows for easy backend and view authentication:

HTML Code:
if(hasPermission(['admins.delete', 'servers.*']))
This would return a boolean if the user is allowed to either delete admins, or perform any server actions.

This is complete.

Servers

Servers can be added, as long as there is a correct IP, Port and RCON password. Server details are loaded into Cache, or information is checked with the Steam API if not in cache.

This is complete.

Settings

Update the application settings.

This is complete.

API

The plugin will communicate over a HTTP API towards the website. A key (in settings) is required to be passed through as a header value.

Only the middleware check is complete.

---

Quite a bit has been done, however there is still loads left to do. If anyone is interested in helping give me a shout.

I don't have any experience with the plugin development, so looking for some assistance there.

Overall this would be a way more flexible and up-to-date website & plugin, which just needs some community help!

Cheers!

Steam: aliasell

Screenshots: https://www.dropbox.com/sh/evhpo1jpd...5T99CHJ-a?dl=0
__________________

Last edited by Oo Alias oO; 02-22-2015 at 08:45.
Oo Alias oO is offline