Кіріспе

Synchronet – Microsoft Windows, Linux және BSD түрлері үшін ағымдағы порттары бар көп платформалы BBS бағдарламалық кешені. Алдыңғы нұсқалары MS DOS және OS/2 жүйелерінде де жұмыс істеген, бірақ осы платформаларға қолдау 3.0 нұсқасында (2000 жыл шамасында) тоқтатылды.

Тарих

Synchronet бастапқыда Роб Свинделл (a. k. a. Digital Man) тарапынан WWIV-де болмаған белгілі бір мүмкіндіктерге, атап айтқанда, бірнеше бір уақыттағы түйіндерді қолдау, пакеттік жүктеу және екі бағытты файл алмасу қажеттілігінен туындап жазылған. Synchronet-тің алғашқы нұсқасының бағдарламалау жұмысының көп бөлігі 1991 жылы Свинделл операциядан кейін жазылған екі айдың ішінде аяқталды. Бағдарламалық қамтамасы желіде синхронды жұмыс істеу мүмкіндігі үшін осылай аталды. 1991 жылдың шілдесінде автор өзінің BBS-ін, Vertrauen-ді Synchronet-те іске қосты. Бастапқыда ол Synchronet-ті жариялауға ниеттенбеген, бірақ бағдарламалық қамтамасы туралы ақпарат тараған сайын және Synchronet-тің көшірмелерін сатып алу туралы ұсыныстар келіп түскен сайын, ол ақырында бас тартып, Digital Dynamics атты компания құрды және Synchronet-тің көшірмелерін бастапқы кодысыз 100 долларға, ал бастапқы кодымен 200 долларға сатты. 1992 жылдың сәуірінде Свинделлдің жұмыс берушісі банкротқа ұшырады және ол өзінің күнкөрісін тек Synchronet-тің коммерциялық сатуына байланысты жасауға көшті, BBS-ке қатысты журналдарда жарнамалар орналастырды. Synchronet-тің алғашқы көшірмесі журналдардағы жарнамалар арқылы 1992 жылдың маусым айында сатылды. Synchronet 1992 жылғы 25 маусымда шыққан 1a нұсқасының 10-шы қайрылымында, сыртқы құралдарды қажет етпей, QWK хабарламалық желісін тікелей қолдайтын алғашқы BBS пакеті болды. Бұл сондай-ақ 1993 жылғы 23 қаңтарда шыққан 1b нұсқасының 1-ші қайрылымында RIP қолдауын қамтамасыз ететін алғашқы BBS пакеті болды. 1994 жылдың соңында Synchronet-ке қызығушылық азайды және 1995 жылы толығымен жойылды. Digital Dynamics 1995 жылдың күзінде банкротқа ұшырады. Осыған қарамастан, 1996 жылдың басында MS DOS үшін Synchronet 2.30 нұсқасының бета-версиясы және OS/2 үшін альфа-версиясы шығарылды. 1996 жылдың тамызында Свинделл Synchronet-тің болашағының белгісіздігін жариялады. 1997 жылы Synchronet 2.30 нұсқасы тегін бағдарлама ретінде шығарылды, ал бастапқы коды сол жылдың соңында жалпыға қолжетімді болды. 1999 жылдың сәуірінде Свинделл Synchronet-ті қайта жаңғыртты, оны айтарлықтай жаңартты және кодтың көп бөлігін C++ тіліне аударды. 1999 жылдың желтоқсанында 2.30c нұсқасы шығарылды, ол Y2K қателерін түзетті және алдағы 3.x сериясынан кейбір шағын жаңа мүмкіндіктерді қосты. 3.00b нұсқасы 2000 жылдың 25 маусымында шығарылды және ол 3.x сериясының алғашқы ресми нұсқасы болды, 32 биттік Windows нұсқасы және көптеген жаңа интернетке байланысты мүмкіндіктерді, мысалы, кіріктірілген telnet серверін ұсынды. Бұл шығарылымда қоңырау шалу қолдауы тоқтатылды, ол тек TCP/IP жүйесіне айналдырылды. 2000 жылдың қазан айында Synchronet GNU General Public License (GPL) шарттарымен шығарылды. 2001 жылдың соңында Стивен Хард (Deuce) жобаға бастапқыда *nix әзірлеушісі ретінде қосылды. Ол BBS-ті FreeBSD-ге көшірді және Linux-ты дамыту жұмысының көп бөлігін жасады. Оның алғашқы "маңызды" үлесі - бастапқыда DOS-қа арналған конфигурациялық құралдарды Unix сияқты платформаларда жұмыс істеуге мүмкіндік беретін Borlands conio кітапханасын іске асыру болды. Сол уақытта Свинделл, BBS-тің көп бөлігі үшін қолданылатын BAJA ескірген тілін алмастыру мақсатында SpiderMonkey JavaScript қозғалтқышын Synchronet-ке енгізе бастады. BBS әлі де BAJA скрипттерін қажет етеді, бірақ JavaScript көмегімен көп нәрсе жасауға болады. JavaScript қозғалтқышына сокет объектісі қосылды және қарапайым TCP/IP қызметтерін оңай жазуға мүмкіндік беретін "Қызметтер" сервері құрылды. Synchronet-пен бірге JavaScript-те жазылған TCP/IP қызметтеріне finger, gopher, IRC және NNTP кіреді. Жергілікті (C) кодта FTP, SMTP және POP3 (Роб Свинделл), rlogin, SSH және HTTP (Стивен Хард) сияқты қосымша интернет-қызметтері қосылды. Қызықтысы, тікелей қоңырау шалу арқылы Synchronet-ке қосылу мүмкіндігі қайтадан қолжетімді болды, өйткені Роб Свинделл осы мақсат үшін модемнен telnet-ке қақпа ретінде қызмет ететін бағдарлама (SEXPOTS) жазды. Осы бағдарламаны пайдалану арқылы жүйе операторлары өздерінің BBS-терін тікелей модемнен модемге қосылым арқылы ұсына алады.

Кітапханалар

xpdev – платформааралық даму кітапханасы, ол жіптерді (threading) қолдау, ini файлдарды талдау, біркелкі *printf функциялары және жобаның қалған бөлігіне арналған басқа да шағын қосымша функцияларды ұсынады. Synchronet-тің барлық кіші жобалары xpdev-ке сүйенеді. Басты әзірлеуші – Роб Свинделл. ciolib ciolib – Borland conio кітапханасының таза бөлмеде жасалған нұсқасы, ол Win32 консолі, SDL, X11, curses және ANSI арқылы stdio пайдаланып CP437 дисплейін қолдайды. Онда ANSI BBS, ANSI Music, ANSI Art анимациясы үшін символдардың жылдамдығын реттеу, динамикалық жылдамдық өзгерту үшін VT500 ESC[*r тізбегі, Commodore 64 PETSCII және Atari 8 бит ATASCII әртүрлі экран режимдерінде, соның ішінде 80x25, 80x28, 80x43, 80x50 және 80x60, сондай-ақ FreeBSD syscons көзінен импортталған 35-тен астам шрифттер және шрифттерді өзгерту мүмкіндігі бар ANSI терминал эмуляторы да бар. Басты әзірлеуші – Стивен Хард. UIFC – Synchronet жиынтығымен келетін мәтіндік конфигурациялық утилиталарға мәзір жүйесін ұсынатын мәтіндік пайдаланушы интерфейсі кітапханасы. Бастапқыда Роб Свинделл жазған, кейін Стивен Хард ciolib-ті пайдалану үшін оны жаңартты. Ол толыққанды мүмкіндіктерге ие деп есептеледі, сондықтан жаңа мүмкіндіктер қажет болған жағдайда ғана белсенді даму жүргізіледі. comio – Windows және *nix үшін жалпы сериялық (COM) порт API-ының іске асырылуы. Ол бастапқыда Роб Свинделл SEXPOTS жобасының бөлігі ретінде жобалаған, ал Стивен Хард оны *nix жүйесіне порттаған.

SEXYZ

SEXYZ (Synchronet External X Modem, Y Modem, Z Modem) – X/Y/ZModem файлдарын жіберуді қолдайтын сыртқы файлдарды жіберу бағдарламасы. Ол [F]DSZ және CEXYZ сияқты ескі DOS протоколдарына тәуелділікті жою мақсатымен жазылды. TCP сокеттері және stdio арқылы жіберуді қолдайды. Бағдарлама жұмыс істейді және оны одан әрі дамытуға көп көңіл бөлмейміз.

СЕКСПОТТТАР

SEXPOTS (Synchronet EXternal Plain Old Telephone System) – модемнен Telnet қақпасына (шлюз) дейінгі байланыс. Ол келіп түсетін модем қосылыстарын қабылдайды және оларды Telnet немесе RLogin протоколдары арқылы BBS-ке жібереді.

SyncTERM

SyncTERM – xpdev, ciolib, UIFC және SEXYZ мен SEXPOTS бөліктерін пайдаланатын терминал эмуляторы. Synchronet қолдайтын платформалардан өзге, ол Solaris және Mac OS X жүйелерінде де жұмыс істейді. Қолдау көрсетілетін қосылу опциялары: Telnet, rlogin, SSH, "Raw" сокеттері, стандартты модемдік қосылымдар және тікелей серийлік қосылымдар (SEXPOTS бөліктерін пайдалана отырып), сондай-ақ *nix жүйесінде pty интерфейсі. Файлдарды жіберу опциялары ZMODEM, XMODEM және YMODEM беру протоколдарынан (SEXYZ бөліктерін пайдалана отырып) тұрады.

SyncDraw (қосу)

SyncDraw – бастапқыда MysticDraw бағдарламасының ескі нұсқасын жаңарту мақсатымен жасалған ANSI графикалық редакторы. Ол xpdev және ciolib кітапханаларын пайдаланады, бірақ әлі дамырылмаған. TheDraw қаріптерімен жұмыс істей алады және Synchronet Control A код форматында сақтау мүмкіндігі бар, алайда, оны маңызды жұмыстар үшін қолдануға әлі жеткіліксіз деп есептеледі.

Үшінші тараптың бағдарламалық жасақтамасы

Synchronet жобасы үшінші тараптың BBS-қа қатысты бағдарламалық жасақтамасын өз CVS ағашына "қосуға" ынта танытты. Әдетте, бұл бағдарламалық қамтамасыз ету xpdev-ты қолдану үшін жаңартылып, Synchronet қолдайтын платформаларда жұмыс істейтін болады, содан кейін белсенді әзірлемелерсіз CVS ағашында қалады.

Домендік ойын-сауық есіктері

Domain Entertainment бір кезде Synchronet жүйесі үшін арнайы қосымшалар жазған ірі компаниялардың бірі еді. Олардың кейбір бағдарламалық қамтамасы ашық код ретінде жарияланып, xtrn каталогында Synchronet CVS репозиторийіне қосылды.

Жабайы аңның билігі

The Beast's Domain – бұл көп ойыншылы, өзара әрекеттесетін, нақты уақыт режиміндегі, Rogue-like ANSI приключение ойыны. The Beast's Domain бір уақытта 250 ойыншыға дейін қабылдай алады.

Ашық есік

OpenDoors ең танымал C "есік жиынтықтарының" бірі болды. Роб Свинделл DOOR32 файлдық форматына қолдауды және жалпы сокеттерді қосты, ал Стивен Хард *nix үйлесімділігін қамтамасыз етті.