Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

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
Next revisionBoth sides next revision
faq:nix [2018/02/13 12:44] – Removed the section I added on binding ports below 1024 on Linux, since there's already a howto page about that. nightfoxfaq:nix [2022/05/07 18:50] – [Maximum Open Files] added systemd section. nelgin
Line 18: Line 18:
   * [[#SELinux|What does nothing work with SELinux]]?   * [[#SELinux|What does nothing work with SELinux]]?
   * [[#Disk space|How much disk space is required]]?    * [[#Disk space|How much disk space is required]]? 
-  * [[#TermType|What does an ''unknown terminal'' error indicate]]?+  * [[#Terminal Type|What does an ''unknown terminal'' error indicate]]? 
 +  * [[#tempnam warning|Why do I get a warning about use of ''tempnam'' when compiling]]? 
 +  * [[#SDL Errors|How do I work around SDL 1.2 run-time errors]]? 
 +  * [[#Recycle|Why does the recycling of servers/services not work]]? 
 +  * [[#Maximum_Open_Files|How do I resolve ERROR 24 (Too many open files)]]?
      
 ===== Flavors ===== ===== Flavors =====
Line 169: Line 173:
  
 **Answer:**\\    **Answer:**\\   
-A fresh install (as of Feb-2009) requires about 70MBytes+A fresh install (as of Mar-2020from source code, requires about 500MBytes of space
-Much of the space consumed is in the form of intermediate build files which +Much of the space consumed is in the form of intermediate build files which may be removed after the build is complete if space is a concern.
-may be removed after the build is complete if space is a concern.+
  
  
Line 192: Line 195:
 To elaborate, [[util:SBBSecho]] uses ''tempnam'' for a specific purpose, which ''mkstemp'' does not do. Additionally ''mkstemp'' is not available in all the C libraries for all the platforms for which Synchronet is built. The //dangers// of ''tempnam'' do not apply to SBBSecho's use of the function. To elaborate, [[util:SBBSecho]] uses ''tempnam'' for a specific purpose, which ''mkstemp'' does not do. Additionally ''mkstemp'' is not available in all the C libraries for all the platforms for which Synchronet is built. The //dangers// of ''tempnam'' do not apply to SBBSecho's use of the function.
  
 +===== SDL errors =====
 +**Question:**\\
 +How do I work around SDL_main errors (e.g. ''No protocol specified'' followed by a ''segmentation fault'') that prevent Synchronet applications (e.g. [[util:SCFG]], [[util:EchoCFG]], [[monitor:umonitor]], etc.) built with SDL 1.2 from running?
 +<code>
 +$ /sbbs/exec/scfg
 +No protocol specified
 +No protocol specified
 +No protocol specified
 +Segmentation fault (core dumped)
 +</code>
 +
 +**Answer:**\\
 +Double check that you can run X applications (e.g. ''xterm'', ''xeyes'') and if you cannot, you may need to grant X access to other user accounts with a command like:
 +  xhost +SI:localuser:<username>
 +executed before switching to another user account (e.g. with ''su'' or ''sudo'').
 +
 +Work-arounds:
 +  - Clean re-build all of Synchronet without SDL support (include ''WITHOUT_SDL=1'' on the ''make'' command-lines or in your ''localdefs.mk'' file)
 +  - Set the ''SDL_VIDEODRIVER'' environment variable to the value of ''dummy'' (e.g. ''EXPORT SDL_VIDEODRIVER=dummy'') before executing the program
 +
 +===== Recycle =====
 +**Question:**\\
 +Why do my servers/services fail to recycle when I set the node-recycle flag (e.g. saving changes in [[util:SCFG]]) or when touching recycle [[config:semfiles]]?
 +
 +**Answer:**\\
 +Servers will not recycle while they are in-use.
 +
 +<file>
 +$ node rerun
 +
 +Synchronet Node Display/Control Utility v1.34
 +
 +Node  1: User #1 reading messages via telnet (M) [R]
 +Node  2: Waiting for connection [R]
 +Node  3: Waiting for connection [R]
 +Node  4: Waiting for connection [R]
 +Node  5: Waiting for connection [R]
 +Node  6: Waiting for connection [R]
 +Node  7: Waiting for connection [R]
 +Node  8: Waiting for connection [R]
 +</file>
 +
 +**Question:**\\
 +What do the following warning-level log messages indicate?
 +  Disabling Terminal Server recycle support
 +  Disabling FTP Server recycle support
 +  Disabling Web Server recycle support
 +  Disabling Mail Server recycle support
 +  Disabling Services recycle support
 +  
 +**Answer:**\\
 +Recycle support can be disabled manually be setting the ''NO_RECYCLE'' ''Options'' flag in one or more server sections of your ''[[config:sbbs.ini]]'' file.\\
 +The log warning messages above ("Disabling ... recycle support") indicate that the BBS automatically set the ''NO_RECYCLE'' option flag because it was:
 +  - Configured to bind-to/listen-on TCP ports < 1024 (the so-called "reserved" ports)
 +  - **and** the BBS was configured to change the current user-id in the ''[[config:sbbs.ini#UNIX]]'' section of ''[[config:sbbs.ini]]''
 +  - **and** the BBS could not dynamically set the bind capabilities using the Linux "Capabilities" syscall interface.
 +
 +The solution is to remove the ''User'' and ''Group'' settings from the ''[[config:sbbs.ini#UNIX]]'' section of ''[[config:sbbs.ini]]'' and then follow the instructions [[howto:Linux_non-root|here]] for running the BBS on Linux as a non-root user (if you haven't already).
 +
 +===== Maximum Open Files =====
 +**Question:**\\
 +Why am I seeing ''ERROR 24 (Too many open files)'' failures in my error log?
 +
 +**Answer:**\\
 +You need to increase your maximum number of open files.
 +
 +To determine your open file limit, when logged in as the user Synchronet runs as, use the commands below. The hard limit is the systemwide limit, and the soft limit is one that a user can raise (up to the hard limit).
 +
 +Soft limit: ''ulimit -Sn''\\
 +Hard limit: ''ulimit -Hn''
 +
 +To alleviate the ERROR 24 problem on Linux, follow one of the following procedures.
 +
 +
 +If you're not using systemd to start sbbs you can edit ''/etc/security/limits.conf'' to add the lines below.
 +
 +To raise the soft limit up to the hard limit for your Synchronet user, it is recommended to add this line:
 +
 +<file limits.conf>
 +yourBBSuser     soft     nofile     unlimited
 +</file>
 +
 +If you are still receiving ERROR 24, try raising both limits for all users by adding these lines instead:
 +
 +<file limits.conf>
 +*               hard     nofile     unlimited
 +*               soft     nofile     unlimited
 +</file>
 + 
 +
 +If you are running sbbs from systemd then you'll need to edit your service file. Add the following line in the [Service] section
 +
 +   LimitNOFILE=10000
 +Reload the service file
 +
 +   systemctl daemon-reload
 +This will give you a safety net in case a runaway process tries to open a lot of files. Don't forget to restart your bbs after making the change. 
 +
 +To verify the number of files, you can use the sysop ;SHELL command and run
 +
 +  ulimit -a
 +to see exactly which limits your process is to conform to.
 +
 +      
 ===== See Also ===== ===== See Also =====
   * [[:faq:|Frequently Asked Questions]]   * [[:faq:|Frequently Asked Questions]]