Ulysses Stuff > Ulysses Release Archives

OpenSteam: Bans and User Management System

(1/23) > >>

Neubivljiv:
OpenSteam: Bans and User Management System
This project includes Lua and web application (written in php). Based on ULX MySQL.

Require:
mysqloo
webserver (mysql with php/PDO enabled)

Features:
- Each player is added to the database
- It is not necessary for a player to be on a server in order to execute a command (for example, you can add/remove/update admin although he is not on the server, playing...same for bans/removing bans)
- Check user from the database (steamID, status etc)
- Temporary bans
- Login via Steam (web)
- Custom loading screen (with caching steam players and random backgrounds)
- Support multiple servers
- GeoIP support (based on GeoIP Locator
- Country Bans

Installation
- Copy SERVER /opensteam.lua to GAMEROOT/garrysmod/addons/ulx/lua/ulx/modules/sh/
- Copy WEB folder to your public html folder on the webserver
- Open config.php and modify the settings for your database
- Open opensteam.lua and change (to match your database):
local ULX_HOST = "127.0.0.1"
local ULX_PORT = 3306
local ULX_DATABASE = "prop_hunt"
local ULX_USERNAME = "root"
local ULX_PASSWORD = "password"- Create database (use Database.sql)
- Add in your server.cfg the following:

--- Code: ---sv_loadingurl "http://YOUR_WEBSITE/loading/?mapname=%m&steamid=%s"
--- End code ---
(note: change YOUR_WEBSITE to match yours)
- Edit loading/index.php
Change [SERVER NAME HERE] to Your server name and {YOUR SERVER #1 IP HERE} to your server IP. (I will add option to setup this via configuration later). If you know html, css you can easily create your own loading screen.

It is possible to add more images for loading screen. Just put them into /loading/bcg folder.
To add yourself as admin, join the game and type:
rcon_password YOUR_RCON_PASSWORD
rcon ulx updateuser STEAM_{your_steamID} superadmin
(if you don't know your SteamID use ulx sid YourNick)

In fact, Installation is simple. I just wrote too much detail.  :)

GeoIP Install:
Go to MaxMind website and download GeoIPCountryCSV.zip
Unpack zip archive to /garrysmod/data folder

Commands:

ulx banuser <SteamID> <ban time in minutes (default: 7200 min.)> <Ban Reason (optional)>
ulx removeban  <SteamID> Remove banned user from the database
ulx updateuser <SteamID> <group: supeadmin, admin, user> Promote/demote user
ulx sid <Player Name> Get user SteamID from the database by name
ulx showgroups Show all groups from the database
ulx checkban Check if player is banned (by Player name)
ulx showplayers Show all players with their entity index in console
ulx banindex <Index separated with comma> <Ban time> <"Reason"> Quickly ban more than one player

All these options are also available through the web application  (and more). It is possible to set default expire time for the bans, and allow/disallow permanent bans.
We might add Gaming Panel (screenshot here), which allows almost full control of the steam games via web (Linux only). Currently, this panel is integrated with our system and forums, and we may plan to do as standalone.

If user login via Steam, web application will automatically recognize him if he is superadmin or admin (or user)....

Demo: http://stats.ohsystem.net/opensteam/

Download: https://github.com/OHSystem/opensteam

Screenshots:
Loading screen 1 | Loading screen 2 |  Edit user | Configuration | Permissions | Permissions2 | Remote control | GeoIP Ban | GeoIP ACP

Please check all before asking a question about database connection. If your installation of MySQLOO is not good, we do not provide support for it. So before posting, make sure that your MySQLOO is working (and without OpenSteam).

To do:
- server remote control via web (done)
- more options...
- import bans?

Grief-Code:
 :)
<- Other side of OHSystem :-P

Storm:
Just some questions- I have thousands of bans across many servers. My problem is the servers lag as a result of large banned_user.cfg and huge bans.txt files.

1)will this also record permabans to banned_user.cfg?
2)will this also record information to bans.txt?
3)how will this deal with bans across multiple servers or will it?

Grief-Code:
We do not deal with any stupid banned_users.cfg's (this is literally outdated, slow, reading require a lot of time (what is causing your laggs) and not modern)  :-)

We are writing all into MySQL, a database which can be light fast on correctly setup indexe's.
No more laggs from reading large files ;-)
Furthermore, diffrent servers also on diffrent locations can share one database which allow shared bans actually and a shared user statistics/database.

Regards

Neubivljiv:

--- Quote ---1)will this also record permabans to banned_user.cfg?
--- End quote ---
No, record permabans is done only through the database.


--- Quote ---2)will this also record information to bans.txt?
--- End quote ---
No.


--- Quote ---3)how will this deal with bans across multiple servers or will it?
--- End quote ---
Depends on how you've set in Lua. I do not see why someone set the different databases for each server. So that the system natively supports multiple servers.

Navigation

[0] Message Index

[#] Next page

Go to full version