Skip to content

Icon Script Language

phantasm4489 edited this page Nov 27, 2018 · 6 revisions

The old /X4 scripting language has been removed. I was unable to find any examples of the scripting language in actual use. I spent many hours disassembling the ACP code to determine the precise functionality and in the end decide to take a different approach.

The new scripting syntax is based on json notation and provides hierarchical structure that can be used to create all of the folders and icon files needed by /X5 to get you started configuring your bbs.

An example file is included with the /X5 package which should give you enough of an idea of how it works to allow you to edit it and then create your own bbs structure.

Each icon, directory and tooltype has its own entry within the json file and it can be extended to create any additional folders, icons or tooltypes as needed. If you need to create an empty folder then you can include an object with no properties and this will indicate to the tool that it should create a folder.

"Doors": {},

If you wish to create a new icon you should create an entry like this.

   "ScreenTypes": {
	"TITLE.1": "Amiga Ansi",
	"Type.1": "txt.gr"
},

Nesting items within other items will determine where the object is created. Like this example, creates a folder called "Access" and then an icon within it called ACS.1 with the tooltypes as shown:

    "Access": {
	"ACS.1": [
		"ACS.ENTER_MESSAGE",
		"ACS.EALL_MESSAGES"
	],

This should allow you to create all the necessary files express needs to run a node. As long as you have the directory structure created correctly AmiExpress will create msgbase files and user data files the first time you log on.

A more complete example which will create a 2 node, 4 conference bbs structure follows. This example contains examples of different ways that the setup file can be structured to achieve the results you desire:

      {
        "acp": {
          "BBS_NAME": "Phantasm",
          "BBS_STACK": 65535,
          "BBS_LOCATION": "BBS:",
          "BBS_GEOGRAPHIC": "The UK",
          "NODES": 2,
          "SYSOP_NAME": "REbEL",
          "PRIORITY": 2,
          "DONOTWAIT": null,
          "ICONIFIED": null,
          "ICONIFY.LEFTEDGE": 5,
          "ICONIFY.TOPEDGE": 50,
          "MULTICOM_PORT": null,
          "NEW_ACCOUNTS": "APPEND",
          "LANGUAGE_BASE": "bbs:languages",
          "BUTTON_NAME.1": "test",
          "BUTTON_COMMAND.1": "test2",
          "NUTTON_NAME.1": "test2",
          "NUTTON_COMMAND.1": "test2"
        },
        "bbs:computerlist": {
          "COMPUTER.NUM": 18,
          "COMPUTER.1": "Amiga 1000",
          "COMPUTER.2": "Amiga 500",
          "COMPUTER.3": "Amiga 500+",
          "COMPUTER.4": "Amiga 600",
          "COMPUTER.5": "Amiga 1200",
          "COMPUTER.6": "Amiga 2000",
          "COMPUTER.7": "Amiga 2500",
          "COMPUTER.8": "Amiga 3000",
          "COMPUTER.9": "Amiga 3000T",
          "COMPUTER.10": "Amiga 4000/030",
          "COMPUTER.11": "Amiga 4000/040",
          "COMPUTER.12": "Amiga 4000/060",
          "COMPUTER.13": "Amiga CDTV",
          "COMPUTER.14": "Amiga CD32",
          "COMPUTER.15": "PC 386 or worse (yuck!)",
          "COMPUTER.16": "PC 486",
          "COMPUTER.17": "PC Pentium",
          "COMPUTER.18": "Other"
        },
        "bbs:ConfConfig": {
          "NCONFS": 4,
          "NAME.1": "New Users",
          "LOCATION.1": "BBS:CONF01/",
          "NAME.2": "Amiga Forever",
          "LOCATION.2": "BBS:CONF02/",
          "NAME.3": "Console Corner",
          "LOCATION.3": "BBS:CONF03/",
          "NAME.4": "Ami-Express Doors",
          "LOCATION.4": "BBS:CONF04/"
        },
        "bbs:Conf01": {
          "NDIRS": 1,
          "ULPATH.1": "BBS:CONF01/UPLOADS/",
          "DLPATH.1": "BBS:CONF01/UPLOADS/",
          "(FREEDOWNLOADS)": null,
          "Hold": {},
          "LCFiles": {},
          "MsgBase": {},
          "Partupload": {},
          "Uploads": {},
          "Vote": {}
        },
        "bbs:Conf02": {
          "NDIRS": 1,
          "ULPATH.1": "BBS:CONF02/UPLOADS/",
          "DLPATH.1": "BBS:CONF02/UPLOADS/",
          "LOCAL_UPLOAD_PATH": "dh0:",
          "(FORCE_NEWSCAN)": null,
          "(FREEDOWNLOADS)": null,
          "Hold": {},
          "LCFiles": {},
          "MsgBase": {},
          "Partupload": {},
          "Uploads": {},
          "Vote": {}
        },
        "bbs:Conf03": {
          "NDIRS": 1,
          "ULPATH.1": "BBS:CONF03/UPLOADS/",
          "DLPATH.1": "BBS:CONF03/UPLOADS/",
          "LOCAL_UPLOAD_PATH": "dh0:",
          "(FORCE_NEWSCAN)": null,
          "(FREEDOWNLOADS)": null,
          "Hold": {},
          "LCFiles": {},
          "MsgBase": {},
          "Partupload": {},
          "Uploads": {},
          "Vote": {}
        },
        "bbs:Conf04": {
          "NDIRS": 1,
          "ULPATH.1": "BBS:CONF04/UPLOADS/",
          "DLPATH.1": "BBS:CONF04/UPLOADS/",
          "LOCAL_UPLOAD_PATH": "dh0:",
          "(FORCE_NEWSCAN)": null,
          "(FREEDOWNLOADS)": null,
          "Hold": {},
          "LCFiles": {},
          "MsgBase": {},
          "Partupload": {},
          "Uploads": {},
          "Vote": {}
        },
        "bbs:Drives": {
          "DRIVE.1": "BBS:"
        },
        "bbs:Languages": {
          "HOSTLANGUAGE": "English",
          "TITLE.1": "English",
          "TITLE.2": "French",
          "TITLE.3": "German",
          "LANGUAGE.1": "English",
          "LANGUAGE.2": "French",
          "LANGUAGE.3": "German"
        },
        "bbs:NamesNotAllowed": {
          "NAME.1": "SYSOP",
          "NAME.2": "EALL"
        },
        "bbs:Node0": {
          "NODESTART": "express",
          "PRIORITY": 0,
          "CAPITOL_FILES": null,
          "SYSOP_CHAT_COLOR": 33,
          "USER_CHAT_COLOR": 32,
          "KEEP_UPLOAD_CREDIT": 1,
          "SCREENS": "BBS:Node0/Screens/",
          "FREE_RESUMING": null,
          "HDTRANSBUFFER": 1,
          "(NO_TIMEOUT)": null,
          "UD_LOG": null,
          "(NO_WILDCARD_EXPANSION)": null,
          "RINGCOUNT": 1,
          "(NAME_PROMPT=Login)": null,
          "CALLERS_LOG": null,
          "VIEW_PASSWORD": null,
          "(FILESNOTALLOWED=BBS:FCHECK/DUPE_LIST)": null,
          "DEBUG_LOG": null,
          "DEF_SCREENS": null,
          "EXPFONT": "P0T-NOODLE.FONT",
          "IDLENODE": null,
          "TELNETD": null,
          "CONSOLE_DEBUG": 3,
          "NAME_PROMPT": "give us ya name",
          "MAILSCAN_PROMPT": "scanning for aliens",
          "SHOWPWFAIL": null,
          "USERNUMBER_LOGIN": null,
          "NO_EMAILS": null,
          "OVERRIDE_TIMEOUT": 121,
          "NO_MCI_MSG": null,
          "BGFILECHECK": null,
          "MODEM": {
            "USR33600": {
              "MODEM.INIT": "ATE0F1Q0V1X1S0=0S2=255S7=40S12=255",
              "MODEM.RESET": "ATM1H0",
              "MODEM.RING": "RING",
              "MODEM.ANSWER": "ATA",
              "MODEM.OFFHOOK": "ATH1M0"
            }
          },
          "PLAYPEN": {},
          "SERIAL": {
            "LOCAL_UNIT": {
              "SERIAL.UNIT": 0,
              "SERIAL.BAUD": 115200
            }
          },
          "WORK": {},
          "TIMES.DEF": {
            "START.9600": 0,
            "END.9600": 2359,
            "START.12000": 0,
            "END.12000": 2359,
            "START.14400": 0,
            "END.14400": 2359,
            "START.16800": 0,
            "END.16800": 2359,
            "START.19200": 0,
            "END.19200": 2359,
            "START.21600": 0,
            "END.21600": 2359,
            "START.24000": 0,
            "END.24000": 2359,
            "START.26400": 0,
            "END.26400": 2359,
            "START.28800": 0,
            "END.28800": 2359,
            "START.31200": 0,
            "END.31200": 2359,
            "START.33600": 0,
            "END.33600": 2359,
            "START.38400": 0,
            "END.38400": 2359,
            "START.57600": 0,
            "END.57600": 2359,
            "START.115200": 0,
            "END.115200": 2359
          },
          "WINDOW.DEF": {
            "WINDOW.NUM_COLORS": 8,
            "WINDOW.LEFTEDGE": 0,
            "WINDOW.TOPEDGE": 0,
            "WINDOW.WIDTH": 640,
            "WINDOW.HEIGHT": 256,
            "WINDOW.ICONIFIED": null,
            "WINDOW.INTERLACE)": null
          }
        },

        "bbs:Node1": {
          "NODESTART": "express",
          "PRIORITY": 1,
          "CAPITOL_FILES": null,
          "SYSOP_CHAT_COLOR": 33,
          "USER_CHAT_COLOR": 32,
          "KEEP_UPLOAD_CREDIT": 1,
          "SCREENS": "BBS:Node1/Screens/",
          "FREE_RESUMING": null,
          "HDTRANSBUFFER": 10,
          "UD_LOG": null,
          "NO_WILDCARD_EXPANSION": null,
          "RINGCOUNT": 1,
          "(NAME_PROMPT=Login)": null,
          "CALLERS_LOG": null,
          "VIEW_PASSWORD": null,
          "USERNAME": null,
          "SHOWPWFAIL": null,
          "(FILESNOTALLOWED=BBS:FCHECK/DUPE_LIST)": null,
          "DEBUG_LOG": null,
          "SCREENPENS": "343364703343",
          "CHAT_ON": null,
          "DEF_SCREENS": null,
          "EXPFONT": "P0T-NOODLE.FONT",
          "NEWUSER_PASSWORD": "yoshi",
          "IDLENODE": null,
          "SCREENTOFRONT": null,
          "MODEM": {
            "USR33600": {
              "MODEM.INIT": "ATE0F1Q0V1X1S0=0S2=255S7=40S12=255",
              "MODEM.RESET": "ATM1H0",
              "MODEM.RING": "RING",
              "MODEM.ANSWER": "ATA",
              "MODEM.OFFHOOK": "ATH1M0"
            }
          },
          "PLAYPEN": {},
          "SERIAL": {
            "LOCAL_UNIT": {
              "SERIAL.UNIT": 0,
              "SERIAL.BAUD": 115200,
              "SERIAL_DEVICE": "serial.device"
            }
          },
          "WORK": {},
          "TIMES.DEF": {
            "START.9600": 0,
            "END.9600": 2359,
            "START.12000": 0,
            "END.12000": 2359,
            "START.14400": 0,
            "END.14400": 2359,
            "START.16800": 0,
            "END.16800": 2359,
            "START.19200": 0,
            "END.19200": 2359,
            "START.21600": 0,
            "END.21600": 2359,
            "START.24000": 0,
            "END.24000": 2359,
            "START.26400": 0,
            "END.26400": 2359,
            "START.28800": 0,
            "END.28800": 2359,
            "START.31200": 0,
            "END.31200": 2359,
            "START.33600": 0,
            "END.33600": 2359,
            "START.38400": 0,
            "END.38400": 2359,
            "START.57600": 0,
            "END.57600": 2359,
            "START.115200": 0,
            "END.115200": 2359
          },
          "WINDOW.DEF": {
            "WINDOW.NUM_COLORS": 8,
            "WINDOW.LEFTEDGE": 0,
            "WINDOW.TOPEDGE": 0,
            "WINDOW.WIDTH": 640,
            "WINDOW.HEIGHT": 256,
            "WINDOW.ICONIFIED": null,
            "WINDOW.INTERLACE)": null
          }
        },

        "bbs:ScreenTypes": {
          "TITLE.1": "Amiga Ansi",
          "Type.1": "txt.gr"
        },

        "bbs:Access": {
          "ACS.1": [
            "ACS.ENTER_MESSAGE",
            "ACS.EALL_MESSAGES"
          ],
          "ACS.10": [
            "ACS.COMMENT_TO_SYSOP",
            "ACS.UPLOAD",
            "ACS.PAGE_SYSOP",
            "ACS.DISPLAY_USER_STATS",
            "ACS.XPR_RECIEVE",
            "ACS.MAX_PAGES=5",
            "ACS.DUPE_FILECHECK"
          ],
          "ACS.100": [
            "ACS.READ_BULLETINS",
            "ACS.DELETE_MESSAGE",
            "ACS.WHO_IS_ONLINE",
            "ACS.ZOOM_MAIL",
            "ACS.COMMENT_TO_SYSOP",
            "ACS.DOWNLOAD",
            "ACS.UPLOAD",
            "ACS.ENTER_MESSAGE",
            "ACS.FILE_LISTINGS",
            "ACS.JOIN_CONFERENCE",
            "ACS.NEW_FILES_SINCE",
            "ACS.PAGE_SYSOP",
            "ACS.READ_MESSAGE",
            "ACS.DISPLAY_USER_STATS",
            "ACS.VIEW_A_FILE",
            "ACS.EDIT_USER_INFO",
            "ACS.EDIT_USER_LOCATION",
            "ACS.EDIT_PHONE_NUMBER",
            "ACS.EDIT_PASSWORD",
            "ACS.ZIPPY_TEXT_SEARCH",
            "ACS.FREE_RESUMING",
            "ACS.QUIET_NODE",
            "ACS.RELOGON",
            "ACS.XPR_RECEIVE",
            "ACS.XPR_SEND",
            "ACS.PUB_MSGFILES",
            "ACS.PRI_MSGFILES",
            "ACS.MAX_PAGES=5",
            "ACS.DUPE_FILECHECK",
            "ACS.FULL_EDIT",
            "ACS.CONFFLAGS",
            "ACS.VOTE",
            "ACS.OLM",
            "ACS.EALL_MESSAGES",
            "ACS.FILE_EXPANSION",
            "ACS.SHOW_PAYMENTS"
          ],
          "ACS.200": [
            "ACS.READ_BULLETINS",
            "ACS.OVERRIDE_TIMES",
            "ACS.EALL_MESSAGES",
            "ACS.DELETE_MESSAGE",
            "ACS.MCI_MESSAGE",
            "ACS.WHO_IS_ONLINE",
            "ACS.ZOOM_MAIL",
            "ACS.COMMENT_TO_SYSOP",
            "ACS.DOWNLOAD",
            "ACS.UPLOAD",
            "ACS.ENTER_MESSAGE",
            "ACS.FILE_LISTINGS",
            "ACS.JOIN_CONFERENCE",
            "ACS.NEW_FILES_SINCE",
            "ACS.PAGE_SYSOP",
            "ACS.READ_MESSAGE",
            "ACS.DISPLAY_USER_STATS",
            "ACS.VIEW_A_FILE",
            "ACS.EDIT_USER_INFO",
            "ACS.EDIT_USER_LOCATION",
            "ACS.EDIT_PHONE_NUMBER",
            "ACS.EDIT_PASSWORD",
            "ACS.ZIPPY_TEXT_SEARCH",
            "ACS.FREE_RESUMING",
            "ACS.QUIET_NODE",
            "ACS.RELOGON",
            "ACS.XPR_RECEIVE",
            "ACS.XPR_SEND",
            "ACS.PUB_MSGFILES",
            "ACS.PRI_MSGFILES",
            "ACS.MAX_PAGES=10",
            "ACS.DUPE_FILECHECK",
            "ACS.FULL_EDIT",
            "ACS.CONFFLAGS",
            "ACS.VOTE",
            "ACS.OLM",
            "ACS.CREDIT_ACCESS",
            "ACS.FILE_EXPANSION",
            "ACS.BREAK_CHAT",
            "ACS.OVERRIDE_CHAT",
            "ACS.SHOW_PAYMENTS"
          ],
          "ACS.250": [
            "ACS.OVERRIDE_DEFAULTS",
            "ACS.ACCOUNT_EDITING",
            "ACS.READ_BULLETINS",
            "ACS.REMOTE_SHELL",
            "ACS.OVERRIDE_CHAT",
            "ACS.OVERRIDE_TIMES",
            "ACS.SYSOP_READ",
            "ACS.SYSOP_VIEW",
            "ACS.SYSOP_DOWNLOAD",
            "ACS.EALL_MESSAGES",
            "ACS.LIST_NODES",
            "ACS.DELETE_MESSAGE",
            "ACS.ATTACH_FILES",
            "ACS.MCI_MESSAGE",
            "ACS.EDIT_DIRS",
            "ACS.EDIT_FILES",
            "ACS.SYSOP_COMMANDS",
            "ACS.WHO_IS_ONLINE",
            "ACS.ZOOM_MAIL",
            "ACS.COMMENT_TO_SYSOP",
            "ACS.DOWNLOAD",
            "ACS.UPLOAD",
            "ACS.ENTER_MESSAGE",
            "ACS.FILE_LISTINGS",
            "ACS.JOIN_CONFERENCE",
            "ACS.NEW_FILES_SINCE",
            "ACS.PAGE_SYSOP",
            "ACS.READ_MESSAGE",
            "ACS.DISPLAY_USER_STATS",
            "ACS.VIEW_A_FILE",
            "ACS.EDIT_USER_INFO",
            "ACS.EDIT_USER_NAME",
            "ACS.EDIT_USER_LOCATION",
            "ACS.EDIT_PHONE_NUMBER",
            "ACS.EDIT_PASSWORD",
            "ACS.ZIPPY_TEXT_SEARCH",
            "ACS.BREAK_CHAT",
            "ACS.FREE_RESUMING",
            "ACS.QUIET_NODE",
            "ACS.RELOGON",
            "ACS.XPR_RECEIVE",
            "ACS.XPR_SEND",
            "ACS.ULSTATS",
            "ACS.PUB_MSGFILES",
            "ACS.PRI_MSGFILES",
            "ACS.DUPE_FILECHECK",
            "ACS.FULL_EDIT",
            "ACS.CONFFLAGS",
            "ACS.MODIFY_VOTE",
            "ACS.VOTE",
            "ACS.HIDE_FILES",
            "ACS.OLM",
            "ACS.CREDIT_ACCESS",
            "ACS.FILE_EXPANSION",
            "ACS.MCI_MESSAGE",
            "ACS.MESSAGE_EDIT"
          ],

          "ACS.255": [
            "ACS.OVERRIDE_DEFAULTS",
            "ACS.ACCOUNT_EDITING",
            "ACS.READ_BULLETINS",
            "ACS.REMOTE_SHELL",
            "ACS.OVERRIDE_CHAT",
            "ACS.OVERRIDE_TIMES",
            "ACS.SYSOP_READ",
            "ACS.SYSOP_VIEW",
            "ACS.SYSOP_DOWNLOAD",
            "ACS.EALL_MESSAGES",
            "ACS.LIST_NODES",
            "ACS.DELETE_MESSAGE",
            "ACS.ATTACH_FILES",
            "ACS.MCI_MESSAGE",
            "ACS.EDIT_DIRS",
            "ACS.EDIT_FILES",
            "ACS.SYSOP_COMMANDS",
            "ACS.WHO_IS_ONLINE",
            "ACS.ZOOM_MAIL",
            "ACS.COMMENT_TO_SYSOP",
            "ACS.DOWNLOAD",
            "ACS.UPLOAD",
            "ACS.ENTER_MESSAGE",
            "ACS.FILE_LISTINGS",
            "ACS.JOIN_CONFERENCE",
            "ACS.NEW_FILES_SINCE",
            "ACS.PAGE_SYSOP",
            "ACS.READ_MESSAGE",
            "ACS.DISPLAY_USER_STATS",
            "ACS.VIEW_A_FILE",
            "ACS.EDIT_USER_INFO",
            "ACS.EDIT_USER_NAME",
            "ACS.EDIT_USER_LOCATION",
            "ACS.EDIT_PHONE_NUMBER",
            "ACS.EDIT_PASSWORD",
            "ACS.ZIPPY_TEXT_SEARCH",
            "ACS.BREAK_CHAT",
            "ACS.FREE_RESUMING",
            "ACS.QUIET_NODE",
            "ACS.RELOGON",
            "ACS.XPR_RECEIVE",
            "ACS.XPR_SEND",
            "ACS.ULSTATS",
            "ACS.PUB_MSGFILES",
            "ACS.PRI_MSGFILES",
            "ACS.DUPE_FILECHECK",
            "ACS.FULL_EDIT",
            "ACS.CONFFLAGS",
            "ACS.MODIFY_VOTE",
            "ACS.VOTE",
            "ACS.HIDE_FILES",
            "ACS.OLM",
            "ACS.CREDIT_ACCESS",
            "ACS.FILE_EXPANSION",
            "ACS.MCI_MESSAGE",
            "ACS.MESSAGE_EDIT",
            "ACS.EDIT_INTERNET_NAME",
            "ACS.EDIT_REAL_NAME",
            "ACS.TRANSLATION"
          ],
          "Area.NewUser": [
            "CONF1"
          ],
          "Area.Normal": [
            "CONF2",
            "CONF3",
            "CONF4"
          ],
          "Area.Elite": [
            "CONF2",
            "CONF3",
            "CONF4"
          ],
          "Area.Sysop": [
            "CONF1",
            "CONF2",
            "CONF3",
            "CONF4"
          ],
          "Preset.1": {
            "PRESET.AREA": "NewUser",
            "PRESET.ACCESS": 10,
            "PRESET.RATIO_TYPE": 0,
            "PRESET.RATIO": 3,
            "PRESET.DAILY_BYTE_LIMIT": 0,
            "PRESET.TIME_LIMIT": 3600,
            "PRESET.CONFRJOIN": 1
          },
          "Preset.2": {
            "PRESET.AREA": "Normal",
            "PRESET.ACCESS": 100,
            "PRESET.RATIO_TYPE": 0,
            "PRESET.RATIO": 3,
            "PRESET.DAILY_BYTE_LIMIT": 5000000,
            "PRESET.TIME_LIMIT": 3600,
            "PRESET.CONFRJOIN": 2
          },
          "Preset.3": {
            "PRESET.AREA": "Elite",
            "PRESET.ACCESS": 200,
            "PRESET.RATIO_TYPE": 0,
            "PRESET.RATIO": 0,
            "PRESET.DAILY_BYTE_LIMIT": 10000000,
            "PRESET.TIME_LIMIT": 7200,
            "PRESET.CONFRJOIN": 2
          },
          "Preset.4": {
            "PRESET.AREA": "Sysop",
            "PRESET.ACCESS": 255,
            "PRESET.RATIO_TYPE": 0,
            "PRESET.RATIO": 0,
            "PRESET.DAILY_BYTE_LIMIT": 50000000,
            "PRESET.TIME_LIMIT": 60000,
            "PRESET.CONFRJOIN": 2
          }

        },
        "bbs:Commands": {
          "BBSCmd": {},
          "SysCmd": {}
        },
        "bbs:Doors": {},

        "bbs:FCheck": {
          "LHA": {
            "CHECKER": "DOORS:LHAStripper/LhaStripper",
            "ERROR.1": "Aborting",
            "PRIORITY": 1,
            "STACK": 65536
          },
          "LZX": {
            "CHECKER": "Doors:DLT_FileCheck/FileCheck",
            "PRIORITY": "SAME",
            "STACK": 65536,
            "ERROR.1": "Archive corrupted --aborting",
            "ERROR.2": "Operation not entirely successful",
            "ERROR.3": "failed",
            "ERROR.4": "     WARNING: Skipping corrupt/extraneous data."
          },

          "DMS": {
            "CHECKER": "c:mapus",
            "STACK": 65536,
            "PRIORITY": 1,
            "ERROR.1": "Error",
            "ERROR.2": "Error:"
          },
          "TXT": {
            "CHECKER": "DOORS:TXTStyler/TXTStyler_020",
            "PRIORITY": 1,
            "STACK": 65536
          },

          "ZIP": {

            "CHECKER": "Doors:Zipcheck/Zipcheck",
            "ERROR.1": "ZIP file error detected",
            "STACK": 65536,
            "PRIORITY": 1
          }
        },
        "bbs:Protocols": {
          "XprTypes": {
            "LIBRARY.1": "INTERNAL",
            "LIBRARY.2": "HYDRA",
            "LIBRARY.3": "xprzmodem",
            "TITLE.1": "/X ZMODEM",
            "TITLE.2": "/X HYDRA (BI-DIRECTIONAL)",
            "TITLE.3": "xpr zmodem"
          },
          "Hydra": {
            "OPTIONS": "AEHYDRA",
            "TXWINDOW": 16384,
            "RXWINDOW": 16384,
            "STACK": 16384
          },
          "XprZmodem": {
            "OPTIONS": "TN,AY,OR,KY,SN,RN,DN,F0,B64,M16384",
            "AE_BATCH": null
          }
        },
        "bbs:SysopStats": {}
      }