Giter Club home page Giter Club logo

h.e.c's Introduction

H.E.C (Hardware External Controller)

A discord bot written in python intended to run on a linux server, allowing discord server memebers to spool up servers remotley

warning this script gives a sizeable quantity of control to any discord user on your server with access to the bot the script should prevent users from starting more then one server at a time, but only allow people you trust these stupid powers

this guide will assume that you have a very basic understanding of linux and good troubleshooting abilities

I only really plan on implementing games that I play, but i can be swaded with a feature request to add more games.

Supported Games:

  • Terraria (requires a steam account that owns it)
  • Minecraft Java
  • Project Zomboid
  • Valheim
  • Starbound

Planned

  • Dont Starve Together
  • Factorio
  • Satisfactory
  • Vintage Story
  • Stationeers
  • PaperMC

Installation Guide:

Dependencies

  • Linux (ubuntu >18, debian >10, or centos 8 is preferable, in that order) (please see LinuxGSM's site for its recomendations)
  • python3
  • python-pip
  • discord.py (explained later)
  • git

Discord

For this to work you'll need a discord bot with an api key, an actual guide on how to do this is here -> https://discordpy.readthedocs.io/en/stable/discord.html but i'll just assume you know how to do that (because i'm a terrible teacher :P ) now that you have that sweet api key make a file called 'DiscordApiKey.txt' (case sensitive), and then paste the key in there and save it (hold onto this for later)

Steam User

This part is simple: simply go into you terminal and add a user with

sudo adduser steam

Then give sudo permissions

 sudo usermod -a -G sudo steam

Lastly swap to them

 su - steam

Downloading The Script

Move to your home directory

cd ~

Then clone the repos

git clone https://github.com/PI22-7/H.E.C.git

Then place the API key into the 'H.E.C' folder

Run The Script

To run the script, start by making sure your in the correct directory (~/python/H.E.C)

cd ~/H.E.C

Run pip to install the discord.py dependency

pip install discord.py

Then run the actual script

python3 hec.py

You can also make this script start on launch for simplicity (the methods for this vary wildly but using systemd might be the best idea) this guide here should give a good starting point (https://www.howtogeek.com/687970/how-to-run-a-linux-program-at-startup-with-systemd/)

LinuxGSM

Now that the script indeed starts and your bot comes online, now is a good time to shut it down and begin the linux game server manager installation, I left this out of the depedencies as it needs to be installed in a specific way for the script to work

Start by going to the website (https://linuxgsm.com/servers/) and look for a game server that you want to install (make sure my script supports it see above), now follow the given installation process, however make sure to do the following do not create a user for the server and let the script install to the default location (make sure you are in the steam users home directory 'cd ~' to get there), now that you know that continue by following the rest of the tutorial as normal (https://linuxgsm.com/servers/)

now that that you have a game installed feel free to start the python script again (python3 hec.py)

Starting the script on boot (optional)

One way of doing this is with rc.local, this is the final script that your system will run before it greets you with your login prompt

Edit the script with

sudo nano /etc/rc.local

Next add the following

#! /bin/bash

cd /home/users/steam/H.E.C/ && python3 hec.py

exit 0

Next save the script with ctrl+X then hit y to save it then 'enter' so you dont change its name

Now The Last step is pretty simple, we need to make the file executable with:

sudo chmod a+x /etc/rc.local

That should be everything, your script now should startup on boot of your sytem (not the best way to do it but it should work)

h.e.c's People

Contributors

pi22-7 avatar tiredfox avatar

Stargazers

 avatar

Watchers

 avatar

h.e.c's Issues

/stop command is borked

the stop command is borked and some of the other / commands still throw a discord error when executed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.