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):
Pre-built executables
If you are using pre-built executables (from Windows-installer or archive):
- Download archived executable files (see table below)
- Extract the archive into your Synchronet
exec
directory, stripping any sub-directory information and over-writing existing files in the process - 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
- If you performed a Git install (e.g. on *nix) and you opted for symbolic links to the
exec
andtext
directories, the only file you might need to manually update or merge would be thectrl/text.dat
file and creating any new symlinks to new files in exec. Other existing files should be automatically updated with yourgit pull
command. - 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 yourtext.dat
file, consider just using a 0-bytetext.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.
- 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 yourtext.dat
file, consider just using a 0-bytetext.dat
file to always use defaults. - If you have no customized files in your
text
directory, extract thesbbstext
archive into your Synchronettext
directory, over-writing existing files
Final Step (Git or non-git)
- 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
- Update module