Synchronet
Encyclopedia
Synchronet is a multiplatform BBS
Bulletin board system
A Bulletin Board System, or BBS, is a computer system running software that allows users to connect and log in to the system using a terminal program. Once logged in, a user can perform functions such as uploading and downloading software and data, reading news and bulletins, and exchanging...

 software package, with current port
Porting
In computer science, porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed...

s for Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, and BSD variants. Past versions also ran on MS-DOS
MS-DOS
MS-DOS is an operating system for x86-based personal computers. It was the most commonly used member of the DOS family of operating systems, and was the main operating system for IBM PC compatible personal computers during the 1980s to the mid 1990s, until it was gradually superseded by operating...

 and OS/2
OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...

, but support for those platforms has been dropped in recent versions.

History

Synchronet was originally written by Rob Swindell (a.k.a. Digital Man) due to his dissatisfaction with the lack of certain features in WWIV
WWIV
WWIV was a popular brand of bulletin board system software from the late 1980s through the mid-1990s. The modifiable source code allowed a sysop to customize the main BBS program for their particular needs and aesthetics...

, such as support for multiple simultaneous nodes, batch uploads and bidirectional file transfer. The bulk of the programming for the first version of Synchronet was done during a two-month period in 1991 when Swindell was house-ridden while he recovered from surgery. The software was named for its ability to run synchronously
Synchronization (computer science)
In computer science, synchronization refers to one of two distinct but related concepts: synchronization of processes, and synchronization of data. Process synchronization refers to the idea that multiple processes are to join up or handshake at a certain point, so as to reach an agreement or...

 on a network
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....

.

In July 1991 the author began running his own BBS, Vertrauen, on Synchronet. Initially, he had no intention of releasing Synchronet publicly, but as word of his software spread and he received offers to buy copies of Synchronet, he eventually relented, formed a company called Digital Dynamics, and sold copies of Synchronet at a price of $100 without source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

, and $200 with source code. In April 1992, Swindell's employer went out of business and he began to rely exclusively on commercial sales of Synchronet for his livelihood, placing advertisements in the BBS-related magazines Boardwatch
Boardwatch
Boardwatch, published and edited by Jack Rickard, began as an important publication for the online Bulletin Board Systems of the 1980s and 1990s and ultimately evolved into the primary trade magazine of the ISP industry in the late 1990s. Late in the magazine's run, it was renamed to ISPWatch when...

and BBS Callers Digest. The first copy of Synchronet sold through the magazine ads was in June 1992.

Synchronet was the first BBS package to support QWK message networking natively without requiring any external utilities, in version 1a revision 10, released June 25, 1992. It was also the first BBS package with RIP
Remote imaging protocol
The Remote Imaging Protocol Scripting Language, more commonly known as the Remote Imaging Protocol or RIPscrip, is a scripting language created by Jeff Reeder, Jim Bergman, and Mark Hayton to enhance bulletin board systems and other applications.RIPscrip was introduced in 1993 and consisted of...

 support, in version 1b revision 1, released January 23, 1993.

Interest in Synchronet began to dwindle in late 1994, finally becoming nonexistent in 1995. Digital Dynamics went effectively bankrupt in the fall of 1995. Despite this, a beta version of version 2.30 of Synchronet for MS-DOS and an alpha version for OS/2 were released in early 1996. In August 1996, Swindell announced the uncertainty of Synchronet's future. In 1997, version 2.30 of Synchronet was released as freeware
Freeware
Freeware is computer software that is available for use at no cost or for an optional fee, but usually with one or more restricted usage rights. Freeware is in contrast to commercial software, which is typically sold for profit, but might be distributed for a business or commercial purpose in the...

, and the source code was released into the public domain
Public domain
Works are in the public domain if the intellectual property rights have expired, if the intellectual property rights are forfeited, or if they are not covered by intellectual property rights at all...

 later that year.

In April 1999, Swindell revived Synchronet development, revamping it considerably and converting much of the code to C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

. Another version, 2.30c, was released in December 1999, fixing Y2K bugs and introducing some minor new features from the upcoming 3.x series. Version 3.00b was released June 25, 2000 and was the first official release of the 3.x series, featuring a native 32-bit Windows version and many new Internet-related features, such as a built-in telnet
TELNET
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...

 server. For this release, dial-up support was dropped making it a TCP/IP-only system. In October 2000, Synchronet was released under the terms of the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

 (GPL).

In late 2001, Stephen Hurd (Deuce) joined the project initially as *nix developer. He ported the BBS to FreeBSD and did much of the Linux development work. His first "big" contribution was an implementation of Borlands conio
Conio.h
conio.h is a C header file used in old MS-DOS compilers to create text user interfaces. It is not described in The C Programming Language book, and it is not part of the C standard library, ISO C nor is it defined by POSIX....

 library to allow the configuration utilities which were originally written for DOS to run on the Unix-like platforms.

Around the same time, Swindell started embedding the SpiderMonkey
SpiderMonkey
SpiderMonkey is the code name for the first-ever JavaScript engine, written by Brendan Eich at Netscape Communications, later released as open source and now maintained by the Mozilla Foundation.-History:Eich "wrote JavaScript in ten days" in 1995,...

 JavaScript engine into Synchronet with an eye towards replacing the aging BAJA language which was used for most customizations of the BBS. While the BBS can still not be used without some BAJA programs, this is mostly complete. A socket object was added to the JavaScript engine and a "Services" server created which allowed simple TCP/IP services to be written easily. TCP/IP services written in JavaScript bundled with Synchronet include finger
Finger protocol
In computer networking, the Name/Finger protocol and the Finger user information protocol are simple network protocols for the exchange of human-oriented status and user information.-Name/Finger protocol:...

, gopher, IRC, and NNTP.

More internet services have been added in the native (C) code: FTP, SMTP and POP3 by Rob Swindell and RLogin
Rlogin
rlogin is a software utility for Unix-like computer operating systems that allows users to log in on another host via a network, communicating via TCP port 513.It was first distributed as part of the 4.2BSD release....

, SSH
Secure Shell
Secure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client...

 and HTTP by Stephen Hurd.

In an interesting full circle, direct dial-up support for Synchronet is available again as Rob Swindell wrote a modem to telnet gateway program (SEXPOTS) for this purpose. Using this program, SysOps can once again offer their BBSs via direct modem-to-modem connections (though few have so far.)

Libraries

  • xpdev is a cross platform development library which provides such features as threading, .ini file parsing, consistent *printf functions, and other small utility functions to the rest of the project. Effectively every Synchronet sub project relies on xpdev. The primary developer is Rob Swindell.
  • ciolib ciolib is clean room implementation of Borland's conio library which supports the display of CP437 using the Win32 console, SDL
    Simple DirectMedia Layer
    Simple DirectMedia Layer is a cross-platform, free and open source multimedia library written in C that presents a simple interface to various platforms' graphics, sound, and input devices....

    , X11
    X Window System
    The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

    , curses
    Curses (programming library)
    curses is a terminal control library for Unix-like systems, enabling the construction of text user interface applications.The name is a pun on the term “cursor optimization”. It is a library of functions that manage an application's display on character-cell terminals .- Overview :The curses API...

     and ANSI
    ANSI escape code
    ANSI escape sequences are characters embedded in the text used to control formatting, color, and other output options on video text terminals. Almost all terminal emulators designed to show text output from a remote computer, and to show text output from local software, interpret at least some of...

     via stdio. It also has an ANSI terminal emulator which supports ANSI-BBS, ANSI Music, Character pacing for ANSI Art
    ANSI art
    ANSI art is a computer art form that was widely used at one time on BBSes. It is similar to ASCII art, but constructed from a larger set of 256 letters, numbers, and symbols — all codes found in IBM code page 437, often referred to as extended ASCII and used in MS-DOS and Unix environments...

     animation, VT500
    VT500
    VT500 is used as shorthand for the DEC VT500 series of video terminals, the VT510, VT520 and VT525The VT500 series terminals are similar to the VT100, DEC's definitive CRT video terminal of the early/mid 1980s....

     ESC[*r sequence for dynamic speed changes, Commodore
    Commodore International
    Commodore is the commonly used name for Commodore Business Machines , the U.S.-based home computer manufacturer and electronics manufacturer headquartered in West Chester, Pennsylvania, which also housed Commodore's corporate parent company, Commodore International Limited...

     64 PETSCII
    PETSCII
    PETSCII , also known as CBM ASCII, is the variation of the ASCII character set used in Commodore Business Machines 's 8-bit home computers, starting with the PET from 1977 and including the VIC-20, C64, CBM-II, Plus/4, C16, C116 and C128...

     and Atari
    Atari
    Atari is a corporate and brand name owned by several entities since its inception in 1972. It is currently owned by Atari Interactive, a wholly owned subsidiary of the French publisher Atari, SA . The original Atari, Inc. was founded in 1972 by Nolan Bushnell and Ted Dabney. It was a pioneer in...

     8-bit ATASCII
    ATASCII
    The ATASCII character set, from ATARI Standard Code for Information Interchange, alternatively ATARI ASCII, is the variation on ASCII used in the Atari 8-bit family of home computers. The first of this family were the Atari 400 and 800, released in 1979, and later models were released throughout...

     in different screen modes, including 80x25, 80x28, 80x43, 80x50 and 80x60, as well as over 35 fonts imported from the FreeBSD syscons source as well as the ability to customize fonts. The primary developer is Stephen Hurd.
  • UIFC is a text user interface library which provides the menuing system to the text mode configuration utilities bundled with Synchronet. Initially written by Rob Swindell, it was updated by Stephen Hurd to have it make use of the ciolib. It is considered feature complete, so active development occurs only when new features are required.
  • comio is a generic serial (COM) port API implementation for Windows and *nix. It was initially designed by Rob Swindell as part of the SEXPOTS project and was ported to *nix by Stephen Hurd.

SEXYZ

SEXYZ (Synchronet External X-Modem, Y-Modem, Z-Modem) is an external file transfer program which supports X/Y/ZModem transfers. It was written to break the reliance on old DOS external protocols such as [F]DSZ and CEXYZ. It supports TCP socket and stdio transfers. It is functional and very little additional development on this is planned.

SEXPOTS

SEXPOTS (Synchronet EXternal Plain Old Telephone System) is a modem to telnet gateway. It accepts incoming modem calls and forwards them to the BBS via the Telnet or RLogin protocols.

SyncTerm

SyncTERM is terminal emulator which makes use of xpdev, ciolib, UIFC, and parts of SEXYZ and SEXPOTS. In addition to the platforms supported by Synchronet, it also runs on Solaris and Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

.

Supported connectivity options are Telnet
TELNET
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...

, rlogin
Rlogin
rlogin is a software utility for Unix-like computer operating systems that allows users to log in on another host via a network, communicating via TCP port 513.It was first distributed as part of the 4.2BSD release....

, SSH
Secure Shell
Secure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client...

, "Raw" sockets, standard modem connections and direct serial connections (using parts of SEXPOTS), and a pty interface on *nix. File transfer options include the ZMODEM
ZMODEM
ZMODEM is a file transfer protocol developed by Chuck Forsberg in 1986, in a project funded by Telenet in order to improve file transfers on their X.25 network...

, XMODEM
XMODEM
XMODEM is a simple file transfer protocol developed as a quick hack by Ward Christensen for use in his 1977 MODEM.ASM terminal program. XMODEM became extremely popular in the early bulletin board system market, largely because it was so simple to implement...

 and YMODEM
YMODEM
YMODEM is a protocol for file transfer used between modems. YMODEM was developed by Chuck Forsberg as the successor to XMODEM and MODEM7, and was first implemented in his CP/M YAM program...

transfer protocols (using parts of SEXYZ.)

SyncDraw


SyncDraw is an ANSI art editor which was initially a cleanup of an old version of MysticDraw. It uses xpdev and ciolib but is not yet complete. It supports the use of TheDraw! fonts, and can save to the Synchronet Control-A code format, but is generally considered too incomplete for serious usage.

Third-party software

The Synchronet project has shown a willingness to "adopt" third-party BBS related software into its CVS tree. Generally, the software is updated to use xpdev and run on the platforms that Synchronet does and then is left in the CVS tree without active development.

Domain Entertainment Doors

Domain Entertainment was once one of the major companies which wrote addons specifically for Synchronet. Some of their software has since been released as open source and has been imported into the Synchronet CVS tree under the xtrn directory.

Domain Poker

Domain Poker is a single/multi-player, real-time, 5 card draw poker game.
The game can have up to 6 players per table, and up to 25 tables. Each table
has a configurable bet limit, ante, and table limit. Tables can be password
protected for private games, and the "house" can take a configurable percentage
of the pot from games.

Single player games are played against the computer. The computer can be
turned off completely, or allowed to play only on certain tables (at your
option). You also have the option to not allow the computer to be on password
protected tables (to keep users from hogging the tables for themselves).

The Beast's Domain

The Beast's Domain is a Multi-Player, Interactive, Real-Time, Rogue-like ANSI adventure game. The Beast's Domain can handle up to 250 simultaneous players.

OpenDoors

OpenDoors was one of the most popular C "door kits". Support for the DOOR32 drop file format as well as generic sockets was added by Rob Swindell and *nix compatibility was added by Stephen Hurd.

Other Doors

Other door sources that have been adopted include by developers:
  • The Clans
  • New York 2008
  • Smurf Combat
  • Time Port
  • Virtual BBS 3

Sources for BBSes running Synchronet


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK