This is the GitHub project: https://github.com/sblendorio/petscii-bbs
A Java framework for building highly customizable PETSCII and ASCII -enabled BBS, accessible from terminals and Commodore 64/128
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
This is the GitHub project: https://github.com/sblendorio/petscii-bbs
Let's suppose to build a very simple BBS that asks your name and welcomes you. The basic operation is to extend PetsciiThread class (or AsciiThread for ASCII BBS) implementing doLoop() method, such as:
public class WelcomeBBS extends PetsciiThread { // NEVER forget default (empty) constructor public WelcomeBBS() { super(); // Recommended } @Override public void doLoop() throws Exception { // clear screen cls(); println("This is your brand-new BBS"); println(); print("Enter your name: "); // flush output flush(); // clear input buffer resetInput(); String name = readLine(); println(); println("Welcome, " + name + "!"); println("Press a key to exit"); flush(); readKey(); } }
Once you have written your own BBS as an extension of PetsciiThread (or AsciiThread, as per previous documentation) class, simply build the fat jar with this command:
mvn clean package
The build process will result in the file petscii-bbs.jar, it will be found in the target directory. So you can run it with:
java -jar target/petscii-bbs.jar
Running the server with no parameters, a help screen will be displayed:
usage: target/petscii-bbs.jar --bbs <bbsName:port> Run specific BBSes (mandatory - see list below) in the form <name1>:<port1> <name2>:<port2> ... -h,--help Displays help -s,--serviceport <arg> TCP port used by service process, 0 for no-service (default 0) -t,--timeout <arg> Socket timeout in millis (default 60 minutes) List of available BBS: * ... * WelcomeBBS
So we can rename the -jar file in bbs.jar, and the basic syntax for running our sample BBS is:
java -jar bbs.jar --bbs WelcomeBBS:6510
the port where the service will run is 6510 and the timeout is 3600000 milliseconds by default (1 hour). We can change the timeout parameter with -t switch:
java -jar bbs.jar --bbs WelcomeBBS:8088 -t 7200000
It's possible to run multiple BBSes, each one on a different port:
java -jar bbs.jar --bbs WelcomeBBS:6510 NewsBBS:8400 SportsBBS:9100 -t 7200000
(so the port will be 8088 with a timeout of 2 hours)
It's possibile to specify a "Service Port", which makes accessible (via web browser) the inspection of JVM running BBSes:
java -jar bbs.jar --bbs WelcomeBBS:6510 NewsBBS:8400 SportsBBS:9100 -s 8080
Create an account to leave a comment. Already have an account? Log In.
Good! Let me know if you build some service somewhere. You can also use plain Ascii using the "AsciiThread" base class.
I just tried the example bbs with my IPhone and Muffinterm and I had a blast. Did not try to settle my own server, but will certainly, thumbs up for this project
Become a member to follow this project and never miss any updates
Was just sitting here thinking I wanted to write a C64 style BBS software in Java. Was looking for tcpip stack/telnet stuff, petscii tools, etc, and I found this gem of a project which seems to have handled most of what I need to do. This is pretty cool. Will follow the general flow of a C-Net BBS most likely. Will figure out how to store "board" information, user info, and ultimately would like to have some sort of support for doors/games. Then just run it off my Linux box and invite some of my old buddies and see how things go. Pretty cool. Thanks for this!