[Hosting] Godfinger Platform

Posts
54
Likes
84
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
321
Likes
399
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
321
Likes
399
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
321
Likes
399
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
321
Likes
399
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
321
Likes
399
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:
Top