rcon_announce script: Periodically display a set of three messages after five minutes + two other messages, after 30 seconds, counted from the five minutes. rcon_commands script: Execute commands requested by a player; currently, the commands are: !date (date Unix command), !info (uname⠀-a Unix command), !script (script information; credits), !warp (manage warps) and !guild (manage guilds). rcon_commands also includes an authentication feature, based on the username + IP address of the player, both of which are saved to a file (auth). If either the username or IP address already exists in the database (auth file), the script will check whether username + IP address, as a single string, coincides or not in the database; if it does not, the player is kicked from server.
Although I only wrote two scripts, more is to come; thus, a collection.
Since I made them on GNU/Linux, it is unlikely that Unix or other Unix-like operating systems (including macOS) be able to run them, because GNU programs tend to be and act different than these found in Unix and other Unix-like operating systems. However, *BSD and illumos users may already have or can install GNU programs, so they just need to adapt their environment.
Windows users may use Cygwin to run the scripts. NOTE: Even though GNU programs are different than these found in Unix and other Unix-like operating systems, I'm writing the scripts with POSIX in mind.
Various reasons: C-like syntax, better built-ins, better scripting, a rich set of mathematical and logical operators, many convenient features (auto-correct, history substitution, built-in math).
It's also very secure; being "limited" makes it secure. (E.g: Nesting is minimal, thus preventing Shell injections at all costs; there are better ways to achieve what one want.)
The C Shell teaches how to safely write scripts. It's very cool.
The C Shell port should be stable for now. I have fixed outstanding bugs here and there.
I'm actively testing and will keep an eye open to whichever bugs I find.
Just did like to leave some heads-up here, that, by using Shell scripts, one can include programs that do more than the Shell itself; say, one can have a Python program or SQL database, which are triggered by the Shell.
Shell is a very versatile and powerful language, suitable to many purposes. However, I really found the C Shell to be superior to Bourne Shells. Furthermore, the C Shell is the only Shell out there which resembles ancient Unix Shells (namely, Thompson and Mashey Shells). https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.85.7617
Minecraft Shell is a collection of shell (Bash) scripts for Minecraft dedicated servers, licensed under the copyleft GNU Affero General Public License Version 3 license.
rcon_announce script: Periodically display a set of three messages after five minutes + two other messages, after 30 seconds, counted from the five minutes.
rcon_commands script: Execute commands requested by a player; currently, the commands are: !date (date Unix command), !info (uname⠀-a Unix command), !script (script information; credits), !warp (manage warps) and !guild (manage guilds).
rcon_commands also includes an authentication feature, based on the username + IP address of the player, both of which are saved to a file (auth). If either the username or IP address already exists in the database (auth file), the script will check whether username + IP address, as a single string, coincides or not in the database; if it does not, the player is kicked from server.
Although I only wrote two scripts, more is to come; thus, a collection.
Since I made them on GNU/Linux, it is unlikely that Unix or other Unix-like operating systems (including macOS) be able to run them, because GNU programs tend to be and act different than these found in Unix and other Unix-like operating systems. However, *BSD and illumos users may already have or can install GNU programs, so they just need to adapt their environment.
Windows users may use Cygwin to run the scripts.
NOTE: Even though GNU programs are different than these found in Unix and other Unix-like operating systems, I'm writing the scripts with POSIX in mind.
The scripts can be found in my GitHub repository.
NEW: Ported to C Shell.
The C Shell is powerful, more reliable and suitable for this project.
The code relies in the same repository, but in a new branch.
https://github.com/Krush206/minecraft-shell/tree/csh
Some might wonder, "Why C Shell?"
Various reasons: C-like syntax, better built-ins, better scripting, a rich set of mathematical and logical operators, many convenient features (auto-correct, history substitution, built-in math).
It's also very secure; being "limited" makes it secure. (E.g: Nesting is minimal, thus preventing Shell injections at all costs; there are better ways to achieve what one want.)
The C Shell teaches how to safely write scripts. It's very cool.
The limitations aren't drawbacks.
http://parallel.vub.ac.be/documentation/linux/unixdoc_download/Scripts.html
The C Shell port should be stable for now. I have fixed outstanding bugs here and there.
I'm actively testing and will keep an eye open to whichever bugs I find.
https://github.com/Krush206/minecraft-shell/commit/54171e2fa39868ad2019c668f97949cc1ab7def1
Just did like to leave some heads-up here, that, by using Shell scripts, one can include programs that do more than the Shell itself; say, one can have a Python program or SQL database, which are triggered by the Shell.
Shell is a very versatile and powerful language, suitable to many purposes. However, I really found the C Shell to be superior to Bourne Shells. Furthermore, the C Shell is the only Shell out there which resembles ancient Unix Shells (namely, Thompson and Mashey Shells).
https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.85.7617
NEW: Interactive remote connection script (rcon_interactive).
https://github.com/Krush206/minecraft-shell/blob/csh/rcon_interactive