[Hosting] Godfinger Platform

Posts
64
Likes
100
if i understand it correctly, this is close to (or pretty much is) just drag and drop, right? minimal set up needed on the user end beyond configuring what your modifiers are - vstr, rcon etc wise?
 

2cwldys

Supremacy Maintainer
Donator
Posts
346
Likes
409
Yes, you install a compatible version of python, extract the code anywhere on the system, readme helps with majority of the steps, you install dependencies with prepare.bat, fill out the jsons (if there are any) if there isn’t you run start.bat to generate them, provide paths and rcon password. It works as a platform where you can create your own plugins as well as have them interact with each other as well as the imported server data the system handles from the log file.

I’ve made discord bots with this system, which notifies admins when someone needs support in the servers, tracks log for moderation purposes. As well as our entire Rock the Era systems tailored for the Supremacy project function entirely as their own plugin. It is a barebones system where you can hook up essentially anything, shell scripts, or your own implements, using exported server data.

Most server owners just throw on RTV and call it a day, we will work to update our own custom version for others to use, but essentially server owners can make anything they want now, within limitations, and run anything in sequential plugin form. Right now extracting and running it won’t do anything aside from immediately interpreting your log file, most people will have to make their own things with this system. Server owners can share their plugins they make amongst others, if they desire.
 

2cwldys

Supremacy Maintainer
Donator
Posts
346
Likes
409
We have some important updates to this system, currently under the dev branch, which I'll elaborate on below:

1) Auto-update script, which prompts the user if they wish to update their installation to the latest origin/branch.
This ensures everyone running the system will get the latest features, as well as new global shared plugins, if any.
zCcpKEH.png


f3RAzf4.png


2) Portable GIT to update Godfinger for Windows users without having GIT installed.
CetHQS7.png

7Od9GgD.png



3) Multi-platform support, with the help of debugging by Valzhar. The godfinger system should work on UNIX and MacOS systems.
U0n6EHi.png


4) Private codebase SSH deployment. More info in the readme.
7sG8oKR.png


5) Virtual environments, the Godfinger system now concentrates plugins and all implements into it's own /venv folders.
To protect your root system, as well as more UNIX support without having to use --break-system-packages with external dependencies.
venv — Creation of virtual environments


Keep in mind these changes are experimental, and are in no way replacements to using the main branch. This is a list of potential future features to come, making this hopefully become a more superior platform for running rcon and scripted implements alongside your mbiided server.
 

2cwldys

Supremacy Maintainer
Donator
Posts
346
Likes
409
There are now significant updates to this system on the dev branch, which I will elaborate further on below.

1) Currently, ViceDice is working to wrap the mbiided process with pty pseudo-terminal interfaces. Right now only rcon logfile parsing is supported.

Python:
    "interfaces":
    {
        "pty":
        {
            "target":"path/to/your/mbiided.exe",
            "inputDelay":0.001
        },
        "rcon":
        {
            "Remote":
            {
                "address":
                {
                    "ip":"localhost",
                    "port":29070
                },
                "bindAddress":"localhost",
                "password":"fuckmylife"
            },
            "logFilename":"server.log",
            "logReadDelay":0.1,

            "Debug":
            {
                "TestRetrospect":false
            }
        }
    },
    "interface":"rcon",


2) We now have a git tracking plugin, users can see MBII textasset or script extension system changes live while playing on the server.
Additionally, on the event of godfingerEvent.GODFINGER_EVENT_TYPE_SERVER_EMPTY, with 0 players the server routinely checks for updates.. automatically building them with our package manager, as well as any private codebase deployments you may have and their latest HEAD. This is extremely hands free updating for servers at the whim of a single commit push... highly idealized for fast-paced development environments where typical RDP and WinSCP click and drag processes are simply too long...

R2Tbdo6.png


qfYKpPp.png


QCcbTlf.png


3) A TK manager plugin ported by ACHUTA, (TY Sandy) that allows you to mass TK reset everyone to 0 points in the server through RCON, admins may use smod smsay !rtk or !resettk to incur upon this plugin...

4) You may now specify 7-digit commit hashes to use specific versions of the godfinger system, as well as specifying desired commit hashes similar for private deployments as well. The automated builder builds for latest always for live, but this is an excellent feature. This allows you to revert upon the event of any game-breaking updates, incompatible changes, or mistakes.

As always, there are more developments to come. We've not a ported version of RTV-RTM that is compatible, yet, but once done I guarantee the godfinger system will be one of the most influential and widespread to be used by the MBII community.
 
Last edited:

2cwldys

Supremacy Maintainer
Donator
Posts
346
Likes
409
v1.0.1.1 of the Godfinger script extension system has released, with Windows & linux_MacOS support:

Additions:
- Gittracking plugin, which automatically builds for latest updates & checks for private SSH key & SVN posthook deployments,
- Soundboard plugin, which allows OnConnect, OnClientBegin, OnDisconnect, and OnMessage sounds,
- Ability to install SVN portably in your virtual environment and configure it to your %PATH% for windows machines,
- Ability to install SVN on UNIX systems if it is not installed,
- Quick starts for automated service providers, such as Ilyssa Hosting, or others.

Contributors:
- 2cwldys
- ViceDice
- ACHUTA/Mantlar,
- Valzhar
 
Last edited:

2cwldys

Supremacy Maintainer
Donator
Posts
346
Likes
409
J83gBc6.png


v1.0.2 of the Godfinger script extension system has released:

zX7LG2Q.png
mKAtgY1.png
SYNBTFt.png
‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎
iaXEzHy.png




Additions:
- Automatic MSVC (x86) checks & installation for first time windows setups, by @2cwldys ,
- Ability to autostart your mbiided process on godfinger runtime, for Windows and UNIX, by @2cwldys ,
- Code optimizations and overall godfinger modifications, by @ViceDice and @mantlar ,
- Docker container support for UNIX systems, by @2cwldys ,
- Process watchdog observer support, by @ViceDice ,
Python:
import lib.shared.pswd as pswd;

GODFINGER_EVENT_TYPE_WD_UNAVAILABLE     = 1000; # watchdog raised event, game process is not active, happens only upon startup of GF
GODFINGER_EVENT_TYPE_WD_EXISTING        = 1001; # watchdog raised event, game process is exiting upon GF startup
GODFINGER_EVENT_TYPE_WD_DIED            = 1002; # watchdog raised event, game process has died during watch
GODFINGER_EVENT_TYPE_WD_STARTED         = 1003; # watchdog raised event, game process has started during watch
GODFINGER_EVENT_TYPE_WD_RESTARTED       = 1004; # watchdog raised event, game process has restarted after dying during watch
- WinSCP script hooks support for plugin & private asset deployment, with portable install, by @2cwldys ,
- Preparing your virtual environment now checks for latest pip packages, by @2cwldys ,
- More multiplatform support from @Wookiee- ,
- Discord pick up games bot plugin integration, fully open sourced for coordinating your game servers, by @2cwldys ,
- Latest python (3.12+) modernizations of RTV by @mantlar , goal is to provide open-source alternative upgrade, while equal or better than original RTV,
- Soundboard plugin greets player when they begin the CLIENT_BEGIN phase, by @2cwldys ,
- Git tracker plugin gains optimizations, namely smod commands, by @2cwldys :
!build <git|svn|winscp> [true|false]
!gfupdate - forcibly run godfinger updates and deployments while restarting
!gfrestart - forcibly restart the godfinger script system, without updates
!hardupdate <0/1> - when set to 1, determines if the mbiided process is forcibly restarted when forcing updates

<so, what exactly has changed?>
<guide to configuring RTV as a plugin on your server>
<you too, can contribute!>
<report any issues>

Discord developers portal:

This is a general reminder to enable /CL_SERVERSOUNDS 1
Server owners may enhance their community servers gameplay experience,
incorporating the use of rcon sound invokes.


hn8UT0i.png


Contributors:
- 2cwldys
- ViceDice
- ACHUTA/Mantlar
- GCJ/John
- Valzhar
 
Last edited:

2cwldys

Supremacy Maintainer
Donator
Posts
346
Likes
409
J83gBc6.png
v1.0.3 of the Godfinger script extension system has released:
zX7LG2Q.png
mKAtgY1.png
SYNBTFt.png
‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎‎ ‎ ‎ ‎
iaXEzHy.png

‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎


The changelogs and additions are too extensive, with there being 94 pull requests, you may read them by clicking on the above embed.


Namely, however, the following changes are showcased:
- IP & Alias whitelisting plugin, by myself,
- Linux optimizations for Godfinger, by Valzhar,
- Auto spectator ANTI-AFK handling plugin, by ACHUTA,
- Account 'credits' banking & bounty plugin, by ACHUTA,
- RTV 3.12+ plugin optimizations, by ACHUTA,
- Logfile optimizations, by ACHUTA



hn8UT0i.png
 
Last edited:

2cwldys

Supremacy Maintainer
Donator
Posts
346
Likes
409
J83gBc6.png


v1.0.3.1 of the Godfinger script extension system has released:
zX7LG2Q.png
mKAtgY1.png
SYNBTFt.png
‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎‎ ‎ ‎ ‎
iaXEzHy.png

‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎


Changelogs:
- Anti-Padawan plugin, offering a range of 4 actions in how to handle padawans, encouraging them to change their names, without being too punishing to new players, which can also be used to monitor player names from being changed to prohibited names, like slurs, by 2cwldys,
- Watchdog support is now fully implemented, allowing the mbiided.x86.exe & mbiided.i386 process to automatically restart if it crashes, by 2cwldys & ViceDice,
- Support for GODFINGER_EVENT_TYPE_ONNAMECHANGE for purposes of name changes in client info, not normally obtained with the default MBII .log file, using ptyinterface wrapping of the MBII dedicated server process, by 2cwldys & ViceDice,
- RCON Clientmute definitions are now fixed by allowing a specified duration to be entered from script configs, by 2cwldys,
- RCON Tempban definitions added to remoteinterface.py and rcon.py, by 2cwldys,
- !maplist "all" chat command improvements to RTV 3.12+ by ACHUTA,
- VPN Monitor fixes by ACHUTA.

Configs:

Below restartOnCrash entry-
Python:
    "watchdog": {
        "enabled": true,
        "restartServer": true,
        "serverStartCommand": ""
    },

In antipadawanCfg.json-
Python:
    "nameChangeAbuse": {
        "enabled": true,
        "maxChanges": 3,
        "timeWindow": 60,
        "tempbanRounds": 5
    }



hn8UT0i.png
 
Last edited:

2cwldys

Supremacy Maintainer
Donator
Posts
346
Likes
409
Just completed an automod plugin for the Godfinger script extension system:

- Stores all offenders, their current alias, message contents, and the prohibited word(s) by IP in a log.
- Customizable threshold, defaulted to 3, before any of the below actions are taken against the player.
- Four actions you can customize: action 0: mute, action 1: kick, action 2: tempban by <duration>, action 3: ban player by IP.
- All offenses in memory are cleared on GODFINGER_EVENT_TYPE_MAPCHANGE, but logs remain permanent.
- /smod smsay !kickoffenders, !tempbanoffenders, !clearmodlog chat commands added to plugin.
- Prohibited words may be stored in an external file, editing the config with:

Python:
"prohibitedWordsFile": ""
 

2cwldys

Supremacy Maintainer
Donator
Posts
346
Likes
409
Just recently completed votekick, votemute, and voteteamswap sets of plugin features for the Godfinger script extension system:

godfinger/plugins/shared/votekick at main · MBII-Galactic-Conquest/godfinger

godfinger/plugins/shared/votemute at main · MBII-Galactic-Conquest/godfinger

godfinger/plugins/shared/voteteamswap at main · MBII-Galactic-Conquest/godfinger

Each of them offer a large amount of customization, such as smod smsay chat commands to provide immunity to known community members, while requiring 75% of the total population to vote before successfully votekicking (tempban) or votemuting someone. Durations are customizable in rounds as well as minutes. Cooldowns are also customizable. Including the ability to lock said features while SMOD admins are currently online in server, offering automated moderation practices when otherwise admins are unavailable.
 
Top