User's Guide v0.1x+ (UNDER CONSTRUCTION)


Thank you for your support!


zCore Links:













--------------------------------------------------------------------------
Installation: Linux Terminal
--------------------------------------------------------------------------

This section covers installation of zCore thru a Linux Terminal using git. Click here for the desktop version.
  • Check that the machine's linux distribution has Python 3.12 installed as the primary.

  • In your linux terminal input the following commands:

    cd
    or cd ./foldername
    whatever directory to want to place the zcore folder in

    sudo git clone https://github.com/m0de-60/zcore ./zcore

  • Enter password if prompted, screen will confirm when finished.

  • Installation complete. Before starting up the bot, please proceed to Main Configuration.

--------------------------------------------------------------------------
Installation: Desktop Windows (Mac/Linux desktop)
--------------------------------------------------------------------------

This section covers the general installation of zCore on Windows and other desktop systems (Mac/Linux desktop). Click here for the Linux Terminal Version.
  • Desktop machine must have Python 3.12 installed.

  • Click here to download the repository .zip file 'zcore-main.zip'

  • Open 'zcore-main.zip' and copy the folder 'zcore-main' to C:\zcore-main\
    Or the directory you wish. (Keep all files in zcore-main folder!)

  • After you have copied the 'zcore-main' folder to where you want it, rename it to 'zcore'

  • Installation complete. Before starting up the bot, please proceed to Main Configuration.

--------------------------------------------------------------------------
Main Configuration (All applications)
--------------------------------------------------------------------------

This section covers basic starting configuration of zCore, getting zCore set up after installation.

  • For all Linux Terminal, Windows and other desktop systems. (macOS, Linux Desktop)

    • Open or direct to the 'zcore' (zcore-main) folder

    • In ./zcore/ folder locate and open 'zcore.cnf' with a text editor (NotePad, Nano, SimpleText)

      NOTE: Only input lower case text and numbers. Crossed out items can be changed later.

      zcore.cnf Configuration Description:
      VIEW zcore.cnf example: Single Network | Multi-Network


        [zcore]
        serverlist = server1 ---> One or more server names, separated by comma , no spaces
        botmaster = yourname ---> Your username and trusted users for full access, seperated by comma, no spaces
        pingtime = 75
        system = sys_zcore
        plugins = 0


      • serverlist contains the name of the server, or list of servers that will be detailed below.
        Single: serverlist = server1
        Multiple: serverlist = server1,server2,etc

      • botmaster contains your username and other usernames you may use or trust with full IRC access to the bot.
        Single: botmaster = yourusername
        Multiple: botmaster = yourusername1,username2,etc

      • [server1] ---> This must match one of the server names in [zcore] serverlist
        serverid = server1 ---> This must match the above [server1] and match in [zcore] serverlist
        serveraddr = irc.server.net ---> Text server address (or IP address)
        serverport = 6667 ---> 6667 for non SSL, 6697 for SSL (serverssl = yes)
        serverssl = no ---> no for non SSL, yes for SSL (serverport = 6697)
        botname = Bot_Name ---> Username for the bot. (Case sensative)
        botpass = BotPassword ---> Nickserv password for that server. (Case sensative)
        channels = #channelname1 ---> Channel(s) the bot will join and function, seperated by comma , no spaces.
        admin = 0
        access = 0
        akick = 0

        VIEW zcore.cnf example: Single Network | Multi-Network

      • Copy this above format of [server1] and use it for each server you specified above in serverlist

      • [server1] This can be any name you give. Same with other servers you add to the list.

      • serverid This must match what is in the list brackets [server1].

      • serveraddr Text server address irc.network.com or IP address.

      • serverport 6667 for non-SSL, 6697 for SSL
        non-SSL: serverport = 6667
        SSL: serverport = 6697

      • serverssl if serverport = 6667, input no. If using SSL serverport = 6697, input yes
        non-SSL: serverssl = no
        SSL: serverssl = yes

      • botname The username for the bot on that server (case sensative)

      • botpass The nickserv password for the bot (case sensative), if no password input 0.
        No Nickserv pass: serverpass = 0
        Nickserv pass: serverpass = PassWord

      • channels This is the name of the channel, or list of channels for the bot to join and allow core functions
        Single: channels = #channel1
        Multiple: channels = #channel1,#channel2,etc

      • Do not alter any other values in zcore.cnf at this time.

    • When finished with zcore.cnf save the file and close it.

    • Basic starting configuration complete. Please proceed to Start Up (Linux or Win/Desktop).

    --------------------------------------------------------------------------
    Starting Up: Linux Terminal
    --------------------------------------------------------------------------

  • Starting up from Linux Terminal
    • screen
    • cd ./zcore
      Or have cd direct to whatever directory the zcore folder is in.
    • sudo python3 zcore.py
      Use sudo, with python3 the bot needs permission to edit its own txt and cnf files.
    • Bot will confirm state on screen debug, if there are any errors in the configuration data there will be errors in the core and/or modules.
      If OK, having used screen previously, you can now leave the bot running in the background.
    • Press ctrl a+d this will leave the bot in the background and you can then exit the terminal or run other programs.

    • Return to Screen:
      Use screen -r to return to or view the zCore screen debug.

    • Refer to Core IRC Commands
  • --------------------------------------------------------------------------
    Starting Up: Desktop Windows (Mac/Linux desktop)
    --------------------------------------------------------------------------


  • Starting up on Windows and other desktop systems (Mac/Linux desktop)
    • This section describes how to run zCore via a python's Integrated Development and Learning Environment

      Python IDLE is included in most python installations for windows and macos and is also included in many linux distributions.

      If you do not have Python IDLE any other program designed to run python modules should work in a similar fashion.

    • Open Python IDLE
      • At the top drop down menus select File > Open
      • Locate and open the zcore folder and select the file 'zcore.py'
      • Click the open button
      • A new window will open up containg zcore.py, press F5 to run.
        Or at the top drop down menus of the new window select Run > Run Module
      • Back in the main python window the bot will confirm state on screen debug, if there are any errors in the configuration data there will be errors in the core and/or modules.
        If OK you may close the second window containing zcore.py text and minimize the main IDLE window to your tray.
    • Refer to Core IRC Commands
  • --------------------------------------------------------------------------
    Core IRC Commands
    Botmaster controls

    --------------------------------------------------------------------------

  • The core irc commands that are built into zCore itself allow users with botmaster access to use zCore's main functions.
  • Click here to view the zCore IRC System Commands

  • In Channel Commands
    These commands are used in a IRC channel where zCore is running.
    • !reboot or !restart
      Restarts the bot

    • !shutdown
      Shuts down the bot.
      It is recommended to always use !shutdown to turn off the bot.
      Interrupting process may result in 'ghost errors' being stored in zcorelog.txt
  • PRIVMSG Commands
    These commands used with /privmsg [botname] on any server where zCore is running. (Botmaster)
    • /privmsg botname stats
      This returns a NOTICE from the bot giving a description of running conditions.

      [NOTICE] -zCoreBot- [zcore] Version: 0.1x | vID: W1NGZ3R0 | Mode: run [Python version: 3.12.0] [OpenSSL 3.0.11]
      [NOTICE] -zCoreBot- [Network Data] espernet Lag: 0.17 seconds | freenode Lag: 0.06 seconds

    • /privmsg botname save-err-log filename.txt
      This will save the current error & debug log file (zcorelog.txt) as anyfilename.txt to the ./zcore folder

    • /privmsg botname clear-err-log
      This will permanently clear the current error & debug log file (zcorelog.txt)

    • /privmsg botname mount-p modulename
      This will mount (or install) a plugin module, remotely. modulename must not contain .py at the end, and all of the plugin module files must be installed in the ./zcore folder before starting. Any plugin module loaded must be designed to work with zCore.
      You can run multiple plugin modules at the same time.
      Click here for more information on plugin modules.
      • Example: /privmsg zcorebot mount-p duckhunt
        Using this command, after installing the 'duckhunt' plugin module files in the ./zcore folder, zCore will then search for and install the plugin module.

    • /privmsg botname unmount-p modulename
      This will unmount (or remove) a plugin module, remotely. modulename must already be mounted in order to unmount. Click here for more information on plugin modules.
      • Example: /privmsg zcorebot unmount-p duckhunt
        Using this command does not remove the plugin module files from the ./zcore folder. It removes modulename from the internal module list until reinstalled. Any file removal, at this time, must be done manually.

    • /privmsg botname mount-s modulename
      This will mount (or install) modulename as a system module. Must not contain .py on the end, and all of the system module files must be installed in the ./zcore folder before starting. Any system module loaded must be designed to work with zCore.
      You can only run one system module at a time.
    • Click here for more information on the system module.
      NOTE: At this time it is not recommended to remove or alter the system module (sys_zcore.py)

    • /privmsg botname unmount-s modulename
      This will unmount (or uninstall) modulename Using this command does not remove the system module files from the ./zcore folder. Do not remove system files from the ./zcore folder.
      Click here for more information on the system module.
      NOTE: At this time it is not recommended to remove or alter the system module (sys_zcore.py)
  • CTCP Commands
    These are the basic CTCP commands
    • /ctcp botname VERSION

    • /ctcp botname FINGER

    • /ctcp botname VID

    • /ctcp botname CLIENTINFO

    --------------------------------------------------------------------------
    zCore IRC System Commands
    --------------------------------------------------------------------------

  • The zCore system commands are contained in a system module. The current supplied system module is v1.0 'sys_zcore.py'

  • In Channel Commands
    These commands are used in a IRC channel where zCore is running. (Botmaster & Admin)
    • The zCore bot needs +o or higher access on channel to use these commands

    • !op or !op username
      Give you or username +o

    • !deop or !deop username
      Give you or username -o

    • !voice or !voice username
      Give you or username +v

    • !devoice or !devoice username
      Give you or username -v

    • !kick username
      Kick username from channel

    • !ban username
      Ban username in channel

    • !kb username
      Kick and ban username in channel

    • !unban username/mask
      Unban username or mask in channel

    • !slap username
      Slap username around a bit with a large trout

  • PRIVMSG Commands
    These commands used with /privmsg [botname] on any server where zCore is running. (Botmaster)
    • Adding and Removing User Access
      Click here for more information on the system module features.

    • /privmsg botname admin [add/rem] username
      Botmaster only - Add or remove admin bot access for username

    • /privmsg botname vcuser [add/rem] username
      Botmaster & Admin - Add or remove voice +v access for username

    • /privmsg botname akick [add/rem] username
      Botmaster & Admin - Add or remove auto kick for username

    --------------------------------------------------------------------------
    Running zCore: Multi-Network
    --------------------------------------------------------------------------

    Please be patient, it's coming!

    --------------------------------------------------------------------------
    zCore System Module
    --------------------------------------------------------------------------

    Please be patient, it's coming!

    --------------------------------------------------------------------------
    zCore Plugin Modules
    --------------------------------------------------------------------------

    zCore can run multiple plugin modules at one time. The total number of allowable plugin modules is still experimental. Would suggest no more than 3-4 plugins at this time. Also make sure to read the intructions of each plugin as each plugin module will have its own configuration cnf file and instructions that are separate from the zCore instructions and commands. Some plugin modules may conflict with one another. Plugin modules that are custom made by users and not made by Mode60 will have no support and recommended to use at own risk.
    • Download or git the plugin module source files and place the files in the zcore folder or directory with the other zcore files.

    • After the files have been installed properly, proceed with the plugin module instructions.

    • When finished with configuration, in your IRC terminal use:
      /privmsg botname mount-p plugin_name

    • If all was done properly, the bot should confirm that the plugin was successfully mounted and will reboot.
      NOTE: The bot will also describe any syntax or basic issues with module mounting.

    --------------------------------------------------------------------------
    Scripting zCore Plugin Modules
    --------------------------------------------------------------------------

    Please be patient, it's coming!

    --------------------------------------------------------------------------
    About zCore
    Multi-threaded asyncronous IRC core; a scriptable and modular software.
    --------------------------------------------------------------------------

    zCore is a free and open source software, written in Python and can run on any Windows, Linux (or macOS) operating system with Python 3.12.0 installed. Out of the box zCore can connect to single or multiple IRC networks and channels that you specify in the configuration, and runs the zCore System Module that has basic IRC features and importable scripting functions for plugins.

    zCore uses a multi-threaded and asyncronous processing structure that allows for multiple connections and features to run simultaneously. The core software alone does everything needed for IRC connection. If no system module or plugin(s) are used, zCore will connect, and stay connected to IRC networks, join channels, and idle. With the pre-installed zCore System Module, there are some basic built in channel operation commands (simple stuff like !op, !kick etc). The zCore System Module also features an access priviledge system that can also be used in scripting plugins.

    The access system consists of 3 levels of access to the zCore system administration functions, Global Botmasters (Full access), Local Admins (Limited access), and Voice users (+v). There is also a auto kick/ban list. Any botmaster or admin listed receive +o (channel operator) when joining their accessed channels, and voice users receive +v on the channel.

    zCore features a scriptable plugin system that can load and run custom designed Python modules. zCore accepts two forms of python modules, one is called the system module and the other is a plugin module. The system module is a single universal supplement to the main core but can also be imported into plugin modules for scripting. These system modules handle the global attributes for all connection threads, such as userlist updating or administration access functions. The plugin modules are desgined to trigger on specified IRC events, such as JOIN, PART, PRIVMSG etc as a normal IRC bot/client would. The scriptable system will have documentation on how users can make their own plugin modules.

    Plugin modules are where users can really get creative. Along with some available plugins, users can also make their own plugins. The core software is capable of running one system module and multiple zCore plugins simultaneously, and can be configured to run certain plugins on certain channels, or all channels etc. Thru this scriptable and modular system you could run multiple IRC channel and network bots all on one platform effeciently, or host the same bot in multiple places without having to run extra shell processes. Also there will be a tutorial and coding guide for users who want to learn how to make plugins for this software.

    zCore is currently in development and planning to be released soon, date TBA. Here is a look at some (but not all) of the products that will be available for zCore:


    1) Trivia-Master: An interactive text based trivia game for IRC channels. Will include a collection of trivia Q&As (from other credited sources) as well as a feature to allow for hosts to add custom Q&A, whether it be a single question or an entire Q&A set.


    2) RPGenerator: An extension of my RPGenerator products, this plugin will be an online RPG game hub that users can play via regular text clients or thru semi-graphical game clients that are also in development for windows and linux.


    3) Super DuckHunt 2.0: This will be a recode and new version series of my stand-alone game bot Super DuckHunt. SDH 2.0 will be the next big update for the game, which will mark the end of Super DuckHunt 1.0 version series and instead be designed to run on zCore, expanding IRC DuckHunt to even highers levels of game experience. The 1.0 series will still be supported as there is a planned update to version 1.1.4 in the future.


    • Development Version: 0.1x Pre-Beta

    • Author/Developer: Neo Nemesis/Mode60

    • Status: Testing

    • Currently under development

    • Future Stable Version: 0.10 Beta

    • Release Date: TBA


    Plugin Modules:


      zCore Plugin Module
    • Version: 1.00
    • Developer: Mode60
    • Status: Ultra Beta
    • Release Version: 1.01 Beta
    • Release Date: TBA