

by StingRay @ A-Net Online BBS
A full-featured ANSI Chess game for Synchronet BBS!
Play vs Computer or Player-vs-Player with save/load, high scores, and ANSI/ASCII displays.
Exchange scores and messages with other BBSes
Challenge other Players/BBSes
(BinkP/mailers supported)The ultimate InterBBS chess experience!
A-NET SYNCHRONET CHESS - INSTALLATION & SETUP
Welcome to A-Net Chess!
InterBBS-ready chess fun for Synchronet BBS Sysops and users.
1. FILES INCLUDED
- achess.js -- Main game
- chess.js -- Chess engine (required by achess.js)
- cboard.ans -- ANSI chessboard art
- achess_ibbs.js -- InterBBS score/message/challenges handler
- pmove.js -- Packet mover for older mailers or if you need
to manually move packets.
- chess_nodes.ini -- Your InterBBS node config
(list of all participating nodes)
- bbs.cfg -- Your BBS's InterBBS identity config
(REQUIRED for InterBBS!)
- test_outbound*.json -- Sample outbound InterBBS move packet (for testing, see below)
- test_inbound*.json -- Sample inbound InterBBS challenge packet (for testing, see below)
- reg.key -- BBS registration info (displayed on sign-off)
- file_id.diz -- Description file (this package)
- syncansi.js -- Synchronet Ansi to Ansi Converter
- achess_ibbs_screenshots.zip – Screenshots of SCFG timed events and Sysop Menu setup screenshots.
- installation.doc -- This documentation file
2. BASIC INSTALLATION
1. Place all files in a directory under /sbbs/xtrn/ (e.g., /sbbs/xtrn/achess/).
2. Set up the directory for users:
- In SCFG, add a new External Program:
- Name: A-NET ANSI Chess
- Internal Code: ACHESS
- Start-up Directory: /sbbs/xtrn/achess/
- Command Line: ?achess.js
- Access Requirements: (ANSI)
3. Required: Configure your local BBS Identity (For InterBBS)
- Copy bbs.cfg.example to bbs.cfg in your achess directory.
- Edit bbs.cfg with your node's information. Example:
- * Remove or rename these files for NON-InterBBS use *
[bbs]
name = A-Net Online BBS
address = 1:201/10
bbs = aneto.synchro.net
operator = StingRay
[directories]
inbound = /sbbs/fido/inbound/ (or where you choose)
outbound = /sbbs/fido/outbound/ (or where you choose)
[mailer]
type = binkd
poll_packets = true
auto_process = true
- This file is crucial for InterBBS play. Without it, your BBS may not be recognized
correctly in InterBBS games, challenges, or score packets.
4. REGISTRATION INFO (reg.key)
To personalize the sign-off screen with your BBS name and Sysop name, edit the reg.key
file in your A-Net Chess directory:
Sysop=Your Name
BBS=Your BBS Name
Replace "Your Name" and "Your BBS Name" with your actual Sysop and BBS names.
If you do not edit this file, the sign-off screen will not display your personalized
BBS and Sysop information.
5. INTERBBS SETUP
a. Configure Your Node File
Edit chess_nodes.ini to list all participating BBSes:
[Node1]
name = A-Net Online BBS
address = 1:201/10
sysop = StingRay
location = Georgia, USA
[Node2]
name = Another BBS
address = 1:201/12
sysop = AnotherSysop
location = California, USA
Each node should use its FTN address or another unique identifier.
b. Configure Your Local BBS Identity
Edit bbs.cfg as described above.
This file tells the chess system who YOU are for InterBBS packets.
c. Scheduling InterBBS Packet Exchange
The InterBBS handler now runs as a standard Synchronet command, not with jsexec.
Commands:
- achess_ibbs outbound (create/send packets to all nodes)
- achess_ibbs inbound (process incoming packets)
- achess_ibbs all (run both inbound and outbound processing)
- achess_ibbs config (display current configuration)
- You can add the Sysop IBBS Command Menu in your External/Operator Menu
- See the achess_ibbs_screenshots.zip file with SCFG and operator menu screnenshots
for timed events and Sysop menu setup.
+----------------------------------------------------------+
|----------------------------------------------------------|
| |Name A-Net Chess IBBS |
| |Internal Code ACHESSIBBS |
| |Start-up Directory ../xtrn/achess |
| |Command Line ?achess_ibbs menu |
| |Clean-up Command Line |
| |Execution Cost None |
| |Access Requirements |
| |Execution Requirements |
| |Multiple Concurrent Users Yes |
| |I/O Method FOSSIL or UART |
| |Native Executable/Script No |
| |Use Shell or New Context No |
| |Modify User Data No |
| |Execute on Event No |
+----------------------------------------------------------+
- achess_ibbs scores (display InterBBS scores)
- achess_ibbs games (display active InterBBS games)
- achess_ibbs messages (display InterBBS messages)
- achess_ibbs nodes (display known nodes and players)
- achess_ibbs test (create test packets with case variations)
- achess_ibbs menu (run interactive menu)
- achess_ibbs reset (*LC ONLY* to complete a League-Wide Reset, players/scores/messages/challenges/etc.)
Schedule these commands in your BBS event scheduler:
- Synchronet External Timed Events: Add timed events in SCFG
Example cron entries:
# Process InterBBS chess packets every 30-60 minutes
*or just a few times a day. ?achess_ibbs all
To move InterBBS packets for external mailers, use pmove.js:
- Move outbound: jsexec pmove.js outbound /path/to/binkp/outbox/
- Move inbound: jsexec pmove.js inbound /path/to/binkp/inbox/
6. NEW FEATURE: CASE-INSENSITIVE USERNAME MATCHING
The InterBBS system now supports case-insensitive username matching!
What this means:
- A challenge sent to "StingRay" will reach a user named "stingray" or "STINGRAY"
- Messages to "JOHN" will reach user "john" or "John"
- Score updates merge users with different cases ("Player1" = "player1")
- Works across any BBS regardless of username capitalization conventions
Benefits:
- No more missed challenges due to case differences
- Better compatibility between different BBS software
- Automatic case resolution with logging
- Preserves original case in display while matching logically
Testing case-insensitive matching:
1. Run: achess_ibbs test
2. Edit generated test files to use your username in different cases
3. Run: achess_ibbs inbound to process and see case resolution in action
7. IN-GAME INTERBBS FEATURES
- Users can send/receive InterBBS messages from within the chess game (menu options 7 & 8).
- Users can challenge, play, and respond to InterBBS Chess games via menu options 9, 10, and 11.
- Scores are automatically merged when you run the inbound processor.
- Messages and scores are exchanged as JSON packets.
- Users see a notification when they have new InterBBS messages upon entering the menu.
- NEW: All username matching is now case-insensitive for better compatibility.
- NEW: Enhanced notifications with proper case resolution.
8. SCORE FILES EXPLAINED
The game maintains three score files in the /sbbs/xtrn/achess directory:
1. scores.ans
- Purpose: Used by the chess game to display the high score list to players inside the game.
- Format: ANSI with Synchronet color codes (e.g., \x01h, \x01c).
- Note: Intended for in-game viewing, not for direct BBS bulletins.
2. scores.asc
- Purpose: Provides a plain ASCII (no color) version of the high score list.
- Format: Simple text, readable in any editor.
- Note: Useful as a fallback or for non-ANSI displays.
3. score.ans
- Purpose: Generated automatically for sysops to use as a working ANSI bulletin.
- Format: Standard ANSI escape codes; compatible with all BBS software and terminals that support ANSI.
- How It's Made: The game converts scores.ans (Synchronet codes) into score.ans using real ANSI sequences.
- Use as Bulletin: Set score.ans as a BBS bulletin to show the high scores in full color to your users.
Summary Table:
File | Color Codes | Intended For | Use as Bulletin?
-------------|----------------|-----------------------|------------------
scores.ans | Synchronet | In-game display | No
scores.asc | None (ASCII) | Simple text viewing | Possible
score.ans | Real ANSI | BBS bulletins, users | Yes
Tip:
If you want to display the color high score list as a BBS bulletin, always use score.ans (not scores.ans).
9. TROUBLESHOOTING & TIPS
- Make sure your directories have the correct permissions.
- If you add new BBSes, update chess_nodes.ini and distribute it to all participating systems.
- Use pmove.js if your mailer drops files in a different directory.
- All files are plain text/JSON and can be safely inspected for debugging.
- If InterBBS features do not work, double-check your bbs.cfg and chess_nodes.ini for accuracy!
- Always test InterBBS features with at least two BBSes before announcing a tournament.
NEW: Case-Insensitive Troubleshooting:
- Check /sbbs/xtrn/achess/interbbs.log for case resolution messages
- Use achess_ibbs test to create test packets with various case combinations
- If challenges aren't reaching users, verify the target username exists locally
- Case differences are automatically logged when resolved
- Use achess_ibbs config to verify your BBS identity and directories
Command Troubleshooting:
- If achess_ibbs commands don't work, ensure the script is in /sbbs/xtrn/achess/
- Check that Synchronet can execute the script (permissions)
- Use achess_ibbs menu for interactive testing
- Verify your bbs.cfg configuration with achess_ibbs config
10. ADVANCED FEATURES
Interactive Menu System:
Run achess_ibbs menu for a full interactive interface with:
- Real-time packet processing
- Live score viewing
- Game and message management
- Test challenge sending
- Configuration viewing
Automated Scheduling:
For busy networks, consider running:
- achess_ibbs.js inbound - every 15 minutes (for you to determine)
- achess_ibbs.js outbound - every hour (for you to determine)
- achess_ibbs.js all - 4 * per day (for you to determine)
* See attached screenshots for Timed Events Setup in SCFG)
Player Database:
The system automatically maintains:
- Player lists per BBS node
- Last seen dates
- Game statistics
- Case-insensitive username mapping
Use ?achess_ibbs.js nodes - to view all known players and nodes.
11. CONTACT & SUPPORT
Sysop: StingRay
A-Net Online BBS
HTTP://a-net.fyi
Telnet: bbs.a-net.online:1337
E-Mail: stingray@a-net.online.lol
Enjoy the game!
Huge thanks to all those who have helped test!
X-Bit – [x-bit.org](https://x-bit.org/info/xleague/)
Thanks to X-League (777)
Codefenix – ConChaos.Syncho.net Telnet/SSH/Rlogin/WWW
A HUGE Shout out to Cozmo! Thank you, Cozmo!
Ansi Artwork By: Cozmo of Lunatics Unleashed BBS
Telnet: lunaticsunleashed.ddns.net:2333
The Lizard Master – Nite Eyes BBS - bbs.lizardmaster.com