Table of Contents

Development Update

So you want to live on the edge and run the latest Synchronet development code? Cool, we do too!

The instructions on this page will perform an incremental update from a Synchronet v3.16 or later install to the latest development build of Synchronet.

:!: Note:
Some of the archive files referenced on this page include sub-directories with important files. When unzipping (e.g. on Windows), be sure to include the sub-directories and recreate the same sub-directory hierarchy in the target directories (e.g. do not extract files from exec/load/ into your exec directory - this is a common mistake).

:!: Note:
As of February 17th, 2018, Synchronet for Win32 now uses Cryptlib v3.4.4 which requires VCRUNTIME140.dll. You can download the required Microsoft Visual C++ 2015 Redistributable Package for x86 (vc_redist.x86.exe) here.

Step 1

Shutdown the BBS

Stop all instances of sbbs, scfg, sbbsctrl, sbbsntsvcs, jsexec, umonitor, echocfg, etc. from running.

We want to avoid problems with copying or over-writing files that may be in-use when BBS processes are running.

Step 2

Backup everything

Seriously, you never know what could go wrong. Make a backup of your entire Synchronet directory tree before you begin.

Mods

If you have any customized modules/scripts in the exec directory, move them to your mods directory to protect them from over-write during update (and leave them there). You may want to manually merge in any “upstream” changes to benefit from fixes or new features added to those same files. You can use the GitLab web interface to perform comparisons (diff's) between revisions and find out what was added that you might have missed in your modified version of the file(s) from exec.

Step 3

Executables from Source

If you are building Synchronet from source code (the normal case for *nix installations):

  1. Perform the steps detailed here
  2. Continue with step 4 section of this page

Pre-built executables

If you are using pre-built executables (from Windows-installer or archive):

  1. Download archived executable files (see table below)
  2. Extract the archive into your Synchronet exec directory, stripping any sub-directory information and over-writing existing files in the process
  3. Continue with step 4 section of this page
Platform Nightly Build Continuous Build
Windows-i386 sbbs_dev.zip https http ftp https
Linux-x64 sbbs_dev.tgz https http ftp https
FreeBSD-amd64 N/A https

Now that your “program files” (executable binaries) are updated, you need to update the run-time files next.

Step 4

Run-time files

Git Method

  1. If you performed a CVS install (e.g. on *nix), see Git for instructions on updating to the Git repo1).
  2. If you performed a Git install (e.g. on *nix) and you opted for symbolic links to the exec and text directories, the only file you might need to manually update or merge would be the ctrl/text.dat file and creating any new symlinks to new files in exec. Other existing files should be automatically updated with your git pull command.
  3. If you performed a Git install (e.g. on *nix) and you did not opt for symbolic links, you will need to recursively copy the repo/exec and repo/text directories to your sbbs/exec and sbbs/text directories.
  4. Over-write or merge-with your modified ctrl/text.dat file from here. If you see some corrupted text output from the terminal server or some features don't work as expected, skipping this step could be the cause. If you don't have have or expect to make any edits to your text.dat file, consider just using a 0-byte text.dat file to always use defaults.

Non-Git Method

Note:
The sbbs_run archive file (sbbs_run.tgz for *nix, sbbs_run.zip for Windows) contains a super-set of the files contained within the archive files referenced below. If you've already downloaded the sbbs_run archive, then you already have all the necessary files (plus a lot more) and do not need to download the smaller archives referenced below.

  1. If you did not perform a CVS or Git install, download the daily archive of the exec directory and extract into your Synchronet exec directory, over-writing existing files: Windows or *nix format.
  2. Download the daily archive of the text directory: Windows or *nix format
  3. Over-write or merge-with your modified ctrl/text.dat file from here. If you see some corrupted text output from the terminal server or some features don't work as expected, skipping this step could be the cause. If you don't have have or expect to make any edits to your text.dat file, consider just using a 0-byte text.dat file to always use defaults.
  4. If you have no customized files in your text directory, extract the sbbstext archive into your Synchronet text directory, over-writing existing files
  5. If you do have customized files in your text directory, extract the sbbstext archive into a temporary location and compare files and merge or replace as you see fit. Of particular interest should be the new avatars sub-directory. Definitely copy that one!

Final Step (Git or non-git)

  1. From a command prompt (e.g. in your Synchronet exec directory), run: jsexec update

NOTE:
The following one-time error message displayed by jsexec when upgrading from Synchronet versions prior to v3.20 is expected and should be ignored:

!ERROR loading configuration files: 2 (No such file or directory) opening /sbbs/ctrl/msgs.ini

... because later in the upgrade process, the msgs.ini(and other) missing configuration files will be created (converted from *.cnf):

Upgrading Synchronet v3.1x config files to v3.20
main.cnf -> main.ini
../node1\node.cnf -> node.ini
../node2\node.cnf -> node.ini
../node3\node.cnf -> node.ini
../node4\node.cnf -> node.ini
msgs.cnf -> msgs.ini

Now you are ready to re-run the BBS and enjoy the “latest and greatest”!

See Also

1)
The Synchronet CVS Repository is no longer updated