PBBS16 Documentation

PBBS TCP/IP Access

As mentioned in the product overview, Professional BBS v16.0 was built using Modern Pascal. PBBS operates as an on-demand script from the Modern Pascal product called CodeRunner. CodeRunner is a self-threading listener (Daemon, CommandLine Engine, or Windows Service). CodeRunner is built using DXSock 6.2, a product I developed starting in 1995 and marketed up to 2002. I stopped marketing it mainly due to the chaos going on behind the scenes at Borland International, Ltd. with the Delphi and C++ Builder products. It was a mess as they would privately state to us third-party component vendors that they were splitting off the compiler division and making Inprise the new authors of Delphi, and then Corel and Borland announce that Corel is acquiring Inprise/Borland, then the compilers were under the ownership of CodeGear. Luckily we had harnessed our own compiler, and CodeGear gets bought up by  Embarcadero Technologies, and the Delphi compiler struggles to evolve to its next penicle.

CodeRunner is as the name suggests, an engine that runs code when a new connection is received. Each listener in CodeRunner can be tweaked to work as Blocking or Non-Blocking, Burst Mode or Character Mode by toggling the Nagle algorithm, which port is to run which script. CodeRunner can run as a single socket listener or a multi-socket listener. Due to the fact that there are multiple connections and script concurrently running the MPL for CodeRunner does not include the display unit, and commands like Halt have been removed to avoid someone accidentally terminating the whole server.

By using this approach, BBS and DOOR developers focus on functionality, as if CodeRunner was your DOORKIT. This means anyone can whip out a BBS, DOOR game, or even Internet servers in a few thousand lines of code. All socket management and threading is handled transparently to your code. You simply interact with a global DXSock object called Session.