Synchronet v3.21e-Win32 (install) has been released (Mar-2026).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
faq:misc [2020/09/10 13:32] – [New User Feedback] Added SCFG screen capture digital manfaq:misc [2026/03/06 01:20] (current) – [New User Questions] Update the [nweuser_prompts] keys list digital man
Line 3: Line 3:
 Answers to miscellaneous Frequently Asked Questions regarding Synchronet. Answers to miscellaneous Frequently Asked Questions regarding Synchronet.
  
 +  * [[#logon_noise|How do I change or remove things that are displayed during user login/logon]]?
 +  * [[#slow_ansi|How do I slow down the display of ANSI art files]]?
   * [[#deleted_msgs|Why is it that deleted messages still appear in message bases]]?   * [[#deleted_msgs|Why is it that deleted messages still appear in message bases]]?
   * [[#new_user_questions|How do I disable New User prompts/questions]]?   * [[#new_user_questions|How do I disable New User prompts/questions]]?
Line 14: Line 16:
   * [[#ftn_msgid|Why do my FidoNet MSGID's look different than someone else's]]?   * [[#ftn_msgid|Why do my FidoNet MSGID's look different than someone else's]]?
   * [[#old_baja|Why won't an old Baja source file compile without errors]]?   * [[#old_baja|Why won't an old Baja source file compile without errors]]?
 +  * [[#sizeof_scfg|Why do I get this error about cfg->size != sizeof(scfg_t)]]?
   * [[#spell|How do I spell "Synchronet"]]?   * [[#spell|How do I spell "Synchronet"]]?
   * [[#abbreviate|How do I abbreviate "Synchronet"]]?   * [[#abbreviate|How do I abbreviate "Synchronet"]]?
 +  * [[#syncterm|How do I report a problem or request a feature for SyncTERM]]?
 +  * [[#k:line|What is an AKILL on IRC and why was I K:Lined]]?
 +
 +===== Logon Noise =====
 +:?: **Question:**\\
 +How do I change or remove things that are displayed during user login/logon?
 +
 +:!: **Answer:**\\
 +By default, a stock Synchronet install will display during Telnet login:
 +  * ''[[dir:text]]/banner*.msg''
 +  * ''[[dir:text]]/answer.msg''
 +  * Text output and prompts from ''[[dir:exec]]/[[module:login]].js''
 +
 +After new user registration or authentication, while a user is logging on:
 +
 +  * ''[[dir:text]]/[[dir:text#menu]]/logon*.*''
 +  * ''[[dir:text]]/[[dir:text#menu]]/random*.*''
 +  * Text output (e.g. last few logons) and potential prompts from ''[[dir:exec]]/[[module:logon]].js''
 +  * ''[[dir:data]]/msgs/auto.msg''
 +  * Any programs (e.g. BullsEye! Bulletins) that have "Execute on Event" set to "Logon" in [[util:SCFG]]->External Programs->Online Programs
 +
 +  ╔══════════════════════════════════════════════════════════╗
 +  ║                    BullsEye! Bulletins                   ║
 +  ╠══════════════════════════════════════════════════════════╣
 +  ║ │Name                       BullsEye! Bulletins          ║
 +  ║ │Internal Code   ╔═══════════════════╗                   ║
 +  ║ │Start-up Directo║  Execute on Event ║                   ║
 +  ║ │Command Line    ╠═══════════════════╣                   ║
 +  ║ │Clean-up Command║ │No               ║                   ║
 +  ║ │Execution Cost  ->│Logon           <                  ║
 +  ║ │Access Requireme║ │Logoff           ║                   ║
 +  ║ │Execution Requir║ │New User         ║                   ║
 +  ║ │Multiple Concurr║ │Birthday         ║                   ║
 +  ║ │Native Executabl║ │Message Posted   ║                   ║
 +  ║ │I/O Method      ║ │File Uploaded    ║                   ║
 +  ║ │Use Shell or New║ │File Downloaded  ║                   ║
 +  ║ │Modify User Data║ │Local/Sysop Chat ║                   ║
 +  ║ │Execute on Event╚═══════════════════╝                   ║
 +  ║ │Pause After Execution      No                           ║
 +  ║ │Disable Local Display      No                           ║
 +  ║ │BBS Drop File Type         None                         ║
 +  ╚══════════════════════════════════════════════════════════╝
 +  
 +For more information about customizing your user's experience, see the [[:custom:|Customization]] section.
 +
 +===== Slow ANSI =====
 +:?: **Question:**\\
 +How do I slow down the display of ANSI art files?
 +
 +Some "ANSI artwork" is either much longer than a typical 25 row terminal or may contain animation sequences which are expecting traditional analog modem communication rates (e.g. 300-3000 characters per second) to be fully appreciated.
 +
 +:!: **Answer:**\\
 +If sending the file from JavaScript (e.g. ''console.printfile()'' or ''bbs.menu()'' methods):
 +
 +  - **Line-pacing**: Before sending the file, set the ''console.line_delay'' property to the number of milliseconds to delay after each line is sent to the client's terminal (e.g. setting ''console.line_delay'' to 500 would result in a 1/2 second delay after each line). This method sets the pace from the server side and thus works with any/all client terminal programs. Don't forget to set this property back to ''0'' when you're done sending the file or else all subsequent output from the BBS will also be slow/delayed in the same way.
 +  - **Rate-emulation**: Before sending the file, set the emulated baud rate (supported by SyncTERM and some other ANSI-BBS terminals) by setting the ''console.output_rate'' property to a supported baud rate value (e.g. 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 76800, etc. - 0 = unlimited). Don't forget to set this property back to ''0'' when you're done sending the file or else all subsequent output from the BBS will also be slow/delayed in the same way. This method is not supported universally but may be combined with line-pacing to insure a slow ANSI display in all cases.
 +
 +If modifying the file before use/display is acceptable:
 +  - **Byte-pacing**: Using the ''[[util:ans2asc]]'' utility you can insert 1/10th of a second delays (using [[custom:Ctrl-A codes]]) by specifying the ''-delay'' option with a desired delay-byte-interval when converting the file from ANSI (e.g. ''*.ans'') to Ctrl-A (e.g. ''*.msg'') format. This method works with all terminals.
 +  - **Line-pacing**: By adding the ''@LINEDELAY@'' or ''@LINEDELAY://<duration>//@'' [[custom:atcodes|@-code]] to the top of the display file, you can enable server-side line pacing. The original line delay value is automatically restored after the file is done being displayed. This method works with all terminals.
 +  - **Rate-emulation**: By adding the ''@BPS://<rate>//@'' [[custom:atcodes|@-code]] to the top of the display file and specifying a supported baud rate value (e.g. 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 76800, etc. - 0 = unlimited), you can set the client terminal emulation baud rate supported by SyncTERM and some other ANSI-BBS terminals. The original output rate value is automatically restored after the file is done being displayed. This method is not supported universally but may be combined with line-pacing to insure a slow ANSI display in all cases.
 +
  
 ===== Deleted Msgs ===== ===== Deleted Msgs =====
Line 39: Line 104:
  
 :!: **Answer:**\\ :!: **Answer:**\\
-Many of the "New User" Questions can be disabled by setting various options in [[util:SCFG]]->System->New User Values->Question Toggles to "No": +Many of the "New User" Questions can be disabled by setting various options in [[util:SCFG]]->System->New User Prompts... to "No": 
-<code> + 
-╔══════════════════════════════════╗ +  ╔══════════════════════════════════╗ 
-║        New User Questions        ║ +  ║    New User Questions/Prompts    ║ 
-╠══════════════════════════════════╣ +  ╠══════════════════════════════════╣ 
-║ │Real Name                   Yes ║ +  ║ │Real Name                   Yes ║ 
-║ │Force Unique Real Name      No  ║ +  ║ │Force Multi-word Real Name  No  ║ 
-║ │Force Upper/Lower Case      Yes ║ +  ║ │Force Unique Real Name      No  ║ 
-║ │Company Name                No  ║ +  ║ │Force Upper/Lower Case      Yes ║ 
-║ │Chat Handle / Call Sign     Yes ║ +  ║ │Company Name                No  ║ 
-║ │Force Unique Handle / Call  No  ║ +  ║ │Chat Handle / Call Sign     Yes ║ 
-║ │E-mail/NetMail Address      Yes ║ +  ║ │Force Unique Handle / Call  Yes ║ 
-║ │Sex (Gender)                Yes ║ +  ║ │Email/NetMail Address       Yes ║ 
-║ │Birthday                    Yes ║ +  ║ │Force Unique Email/NetMail  No  ║ 
-║ │Address and Zip Code        No  ║ +  ║ │Gender                      Yes ║ 
-║ │Location                    Yes ║ +  ║ │Birth Date                  Yes ║ 
-║ │Require Comma in Location   No  ║ +  ║ │Address and Zip Code        No  ║ 
-║ │Phone Number                No  ║ +  ║ │Location                    Yes ║ 
-║ │Allow EX-ASCII in Answers   Yes ║ +  ║ │Require Comma in Location   No  ║ 
-║ │External Editor             No  ║ +  ║ │Phone Number                No  ║ 
-║ │Command Shell               Yes ║ +  ║ │Allow EX-ASCII in Answers   Yes ║ 
-║ │Default Settings            Yes ║ +  ║ │External Editor             No  ║ 
-║ │Color Terminal              No  ║ +  ║ │Command Shell               Yes ║ 
-╚══════════════════════════════════╝ +  ║ │Default Settings            Yes ║ 
-</code> +  ║ │Color Terminal              No  ║ 
-Other "New User" prompts/questions can be disabled by finding their corresponding string in your ''[[dir:ctrl]]/[[custom:text.dat]]'' file and changing it to an empty string (i.e. ''""''), e.g. ''MouseTerminalQ'', ''EnterYourAlias''.+  ╚══════════════════════════════════╝ 
 + 
 + 
 +Other "New User" prompts/questions can be disabled by setting values in the ''[newuser_prompts]'' section of your ''[[dir:ctrl]]/[[config:modopts.ini]]'' file: 
 +  lang = false 
 +  autoterm = false 
 +  backspace = false 
 +  mouse = false 
 +  charset = false 
 +   
 +An alternative method is to find the corresponding string in your ''[[dir:ctrl]]/[[custom:text.dat]]'' file and change it to an empty string (i.e. ''""''), e.g. ''MouseTerminalQ'', ''EnterYourAlias'', via ''[[custom:text.ini]]'' file.
  
 ===== New User Feedback ===== ===== New User Feedback =====
Line 75: Line 150:
 "Require new user feedback" check-box.  "Require new user feedback" check-box. 
  
-Or, set [[util:SCFG]]->Nodes->Node 1->Advanced Options->Validation User to "0". If you+Or, set [[util:SCFG]]->Nodes->Node 1->Advanced Options->Validation User to "0" (Nobody). 
 + 
 +If you
 want your new user validation feedback (e-mail) to go to another user, want your new user validation feedback (e-mail) to go to another user,
 enter that user's number here. enter that user's number here.
Line 82: Line 159:
 ║                     Advanced Options                     ║ ║                     Advanced Options                     ║
 ╠══════════════════════════════════════════════════════════╣ ╠══════════════════════════════════════════════════════════╣
-║ │Validation User            Nobody                       ║+->│Validation User            Nobody                      <-
 ║ │Notification User          1                            ║ ║ │Notification User          1                            ║
 ║ │Notification Error Level   Error                        ║ ║ │Notification Error Level   Error                        ║
Line 92: Line 169:
 ║ │Text Directory             ..\text\                     ║ ║ │Text Directory             ..\text\                     ║
 ╚══════════════════════════════════════════════════════════╝ ╚══════════════════════════════════════════════════════════╝
 +</code>
 +
 +In Synchronet v3.20, this setting has moved to [[util:SCFG]]->System->Notifications->New User Feedback:
 +<code>
 +╔═════════════════════════════════╗
 +║  System Operator Notifications 
 +╠═════════════════════════════════╣
 +->│New User Feedback      Nobody <-
 +║ │Error Notifications    User #1 ║
 +║ │Error Level            Error   ║
 +╚═════════════════════════════════╝
 </code> </code>
 ===== No Guest ===== ===== No Guest =====
Line 99: Line 187:
  
 :!: **Answer:**\\ :!: **Answer:**\\
-You don't have to have a Guest (G-[[access:restrictions|restricted]] user) account. If you don't create a Guest account to begin with, you won't have one. If you created a Guest account and you don't want it, then simply deleting the user account from the user base will work. However, without a Guest account, anonymous FTP access will not be available and some web UI elements may not function as is normally expected. To keep the Guest account but disallow logins to the Terminal Server (the traditional BBS user experience), set [[util:SCFG]]->Nodes->Node 1->Logon Requirements->Requirement String to:+You don't have to have a Guest (G-[[access:restrictions|restricted]] user) account. If you don't create a Guest account to begin with, you won't have one. If you created a Guest account and you don't want it, then simply deleting the user account from the user base will work. However, without a Guest account, anonymous FTP access will not be available and some web UI elements may not function as is normally expected. To keep the Guest account but disallow logins to the Terminal Server (the traditional BBS user experience), set [[util:SCFG]]->Servers->Terminal Server->Login Requirements (or [[util:SCFG]]->Nodes->Node X->Login Requirements) ... Requirement String to:
   NOT GUEST   NOT GUEST
  
 Doing this will cause terminal logons as "Guest" to be rejected with the following (configurable) message: Doing this will cause terminal logons as "Guest" to be rejected with the following (configurable) message:
   You do not have sufficient access for this node.   You do not have sufficient access for this node.
- 
-**Note:**\\   
-You do not have to configure the other nodes (Node 2, 3, etc.) in [[util:SCFG]] so long as they fall within the range of the ''FirstNode''/''LastNode'' key values from the [[config:sbbs.ini#BBS|[BBS]]] section of your ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file. 
  
 **Note:**\\ **Note:**\\
Line 138: Line 223:
   - Shutdown the BBS   - Shutdown the BBS
   - Fix your system date/time   - Fix your system date/time
-  - Run ''exec/[[util:dstsedit]]'' in your Synchronet ''[[dir:ctrl]]'' directory, change the "Date Stamp" to yesterday's date+  - Edit ''[[dir:ctrl]]/dsts.ini'', change the "Date" value to yesterday's date
   - Restart the BBS   - Restart the BBS
  
Line 149: Line 234:
 You can simply copy the Synchronet directory tree (e.g. ''C:\SBBS''), complete with all sub-directories, to the new computer, even if the new computer is running a different operating system! You can simply copy the Synchronet directory tree (e.g. ''C:\SBBS''), complete with all sub-directories, to the new computer, even if the new computer is running a different operating system!
  
-Synchronet doesn't **require** //installation// on a computer, but if you wish to, you can [[:install:]] Synchronet on the new computer and then simply over-write the newly-installed files with your old/migrated files.+Synchronet doesn't **require** //installation// on a computer, but if you wish to, you can [[:install:]] Synchronet on the new computer and then simply over-write the newly-installed files with your old/migrated files, provided they are the same version of Synchronet. If the old computer was running a different (older) version of Synchronet than the version installed on the new computer, then it's likely best to upgrade the old version (if you can) on the old computer before migrating to the new one, though this is not strictly required.
  
 If the target (new) computer is running Windows and you choose not to install, then you may want to create a shortcut to ''sbbsctrl.exe'' in your Windows ''Startup'' folder (so it will automatically run when you login) and/or install the [[:monitor:ntsvcs|Synchronet NT Services]] (which can run without logging-in as a user). If the target computer is running Windows //Vista// or later, then you'll also want to follow the solution to this [[:faq:win#sbbsexecdll|FAQ]] as well. For 16-bit DOS program support, the Synchronet Windows NT FOSSIL driver (''sbbsexec.dll'') must also be copied to the Windows ''System32'' folder. See [[/faq:win#sbbsexecdll|the sbbsexec.dll FAQ]] for details. If the target (new) computer is running Windows and you choose not to install, then you may want to create a shortcut to ''sbbsctrl.exe'' in your Windows ''Startup'' folder (so it will automatically run when you login) and/or install the [[:monitor:ntsvcs|Synchronet NT Services]] (which can run without logging-in as a user). If the target computer is running Windows //Vista// or later, then you'll also want to follow the solution to this [[:faq:win#sbbsexecdll|FAQ]] as well. For 16-bit DOS program support, the Synchronet Windows NT FOSSIL driver (''sbbsexec.dll'') must also be copied to the Windows ''System32'' folder. See [[/faq:win#sbbsexecdll|the sbbsexec.dll FAQ]] for details.
Line 155: Line 240:
 If the source (old) computer was running Windows and you wish to preserve any changes you made to the [[:monitor:sbbsctrl|Synchronet Control Panel]] settings (stored in the Windows registry), you can export those settings to a ''sbbsctrl.ini'' file (using the File->Export Settings menu option) and then import them into the Synchronet Control Panel running on the new computer (using the File->Import Settings menu option). These settings include some changes made via the File->Properties menu. Settings made in most other menus in the Synchronet Control Panel are stored in your ''[[dir:ctrl]]/[[:config:sbbs.ini]]'' file. If the source (old) computer was running Windows and you wish to preserve any changes you made to the [[:monitor:sbbsctrl|Synchronet Control Panel]] settings (stored in the Windows registry), you can export those settings to a ''sbbsctrl.ini'' file (using the File->Export Settings menu option) and then import them into the Synchronet Control Panel running on the new computer (using the File->Import Settings menu option). These settings include some changes made via the File->Properties menu. Settings made in most other menus in the Synchronet Control Panel are stored in your ''[[dir:ctrl]]/[[:config:sbbs.ini]]'' file.
  
-Configuration changes made via the ''[[:util:SCFG]]'' utility are stored in the ''*.cnf'' files in your ''[[dir:ctrl]]'' directory.+If the source (old) and target (new) computers are both running a Unix-like operating system (e.g. Linux), be sure to rebuild *all* the native executable binaries (''e.g. libsbbs.so''), including 3rd party libraries (e.g. ''libcl.a'') on the new/target computer before trying to execute them. Failure to do so could result in "invalid opcode" errors. 
 + 
 +Configuration changes made via the ''[[:util:SCFG]]'' utility are stored in the ''*.ini'' (previously, ''*.cnf''files in your ''[[dir:ctrl]]'' directory.
  
 If you wish to **only** migrate configuration and data files (e.g. over an new installation of Synchronet), copy (recursively) the following Synchronet sub-directories to the new computer: If you wish to **only** migrate configuration and data files (e.g. over an new installation of Synchronet), copy (recursively) the following Synchronet sub-directories to the new computer:
   * ''[[dir:data]]''   * ''[[dir:data]]''
   * ''[[dir:ctrl]]''   * ''[[dir:ctrl]]''
-  * ''[[dir:node]]1''+  * ''[[dir:node]]*''
  
-If you customized any of your filter (''*.can'') or menu (e.g. ''*.asc'') files, you'll also want copy (recursively) the following directory:+If you customized any of your filter (''*.can'') or menu (e.g. ''*.asc'', ''*.msg'') files, you'll also want copy (recursively) the following directory:
   * ''[[dir:text]]''   * ''[[dir:text]]''
  
Line 172: Line 259:
   * ''[[dir:xtrn]]''   * ''[[dir:xtrn]]''
    
-**Note:** Sysop-installed (e.g. not from [[:dev:CVS]]) or modified modules should not normally be stored in your ''[[dir:exec]]'' directory, but if they were, then you'll want to copy those over as well.+**Note:** Sysop-installed (e.g. not from [[:dev:Git]]) or modified modules should not normally be stored in your ''[[dir:exec]]'' directory, but if they were, then you'll want to copy those over as well.
  
  
Line 269: Line 356:
      
 **Note:** To see a complete list of changes in Baja v2, see {{http://synchro.net/docs/baja2new.txt}}. **Note:** To see a complete list of changes in Baja v2, see {{http://synchro.net/docs/baja2new.txt}}.
 +
 +===== sizeof scfg =====
 +:?: **Question:**\\
 +Why do I get the following error when running a Synchronet program: ''cfg->size(x) != sizeof(scfg_t) (y)''?
 +
 +:!: **Answer:**\\
 +The program you're trying to run (e.g. ''sbbs'', ''sbbsctrl'', ''jsexec'') was built from a different version/revision of the Synchronet code base than the Synchronet library: ''sbbs.dll'' (on Windows) or ''libsbbs.so'' (on UNIX) it's loading from disk.
 +
 +Look for extra/additional Synchronet library files and executables on your file system (e.g. in your Synchronet ''[[dir:exec]]'' directory?) and remove or rebuild them.
  
 ===== Spell ===== ===== Spell =====
Line 288: Line 384:
  
 **Note:** This isn't actually a frequently asked question, but it should be. **Note:** This isn't actually a frequently asked question, but it should be.
 +
 +===== SyncTERM =====
 +:?: ** Question:**\\
 +Where do report a bug or request a feature of SyncTERM?
 +
 +:!: **Answer:**\\
 +On sourceforge.net, [[https://sourceforge.net/p/syncterm/feature-requests/|feature requests]] and [[https://sourceforge.net/p/syncterm/tickets/|bug reports]].
 +
 +===== K:Line =====
 +:?: ** Question:**\\
 +What is an AKILL on IRC and why was I K:Lined?
 +
 +:!: **Answer:**\\
 +AKILL is a feature of IRC services that will distribute a K:Line to all the other servers in the network. A K:Line is a server ban for your specific hostname or IP address. This means if you are AKILLed then you're banned from every other server. This is done to protect the network from spambots, flooders, and continually disruptive elements. AKILLs are done either manually by a Services Operator, or automatically by use of various methods employed by the IRCops.
 +
 +If you believe you have been accidentally or unfairly AKILLed from the Synchronet IRC network, contact sysop@endofthelinebbs.com with your IRC nickname, ip address, hostname (if you have one), date and time, including timezone, and any other relevant details. 
  
 ===== See Also ===== ===== See Also =====