# How to set up UCA LINK server

**URL:** <https://forum.universal-credit-system.org/t/how-to-set-up-uca-link-server/83>\
**Category:** Documents and Sources\
**Created:** [November 7, 2021, 3:19pm UTC](https://forum.universal-credit-system.org/t/how-to-set-up-uca-link-server/83 "2021-11-07T15:19:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![m0e](https://forum.universal-credit-system.org/user_avatar/forum.universal-credit-system.org/m0e/32/74_2.png) [@m0e](https://forum.universal-credit-system.org/u/m0e)\
**Post date:** [November 7, 2021, 3:19pm UTC](https://forum.universal-credit-system.org/t/how-to-set-up-uca-link-server/83/1 "2021-11-07T15:19:33Z")

</div>

**HOW TO SET UP YOU OWN UCA LINK SERVER**

This thread is about how to set up a UCA link server. UCA link servers can be considered as nodes that help spreading transaction knowledge by automating the sync process.

**STEP 1 : UNPACK THE SOURCES**

The whole solution is build on D. J. Bernstein’s `ucspi-tcpserver` (see [http://cr.yp.to/ucspi-tcp.html](http://cr.yp.to/ucspi-tcp.html)). There are several ways to get it run. While you can `make` your own Build we have simply installed the **ucspi-tcp-ipv6** debian package using the `install_server.sh` script.

Extract the server components using `tar`:

`tar -xvf server.tar`

The following files will be extracted:

`control/server.conf`  
`control/server_install.dep`  
`controller.sh`  
`filewatch.sh`  
`install_server.sh`  
`logwatch.sh`  
`receiver.sh`  
`sender.sh`  
`start_server.sh`  
`stop_server.sh`  
`uca.service`

Also the folders `/log/` and `/server/` have been extracted. The folder `/log/` is where the server will write the logfiles to. In the folder `/server/` the tempfiles of the server are being stored.

**STEP 2 : INSTALL THE SERVER COMPONENTS**

Run the script `install_server.sh` (you may use `sudo` in front):

`./install_server.sh`

**STEP 3 : CUSTOMIZE THE SERVER**

Modfiy the file **control/server.conf**. At least you have to enter your IP-Adress and the logon credentials (username, PIN, password) of the user that should be used by the server.

**STEP 4 : PUBLISH YOUR UCA LINK SERVER DETAILS**

Add a line to **uca.conf** file in the /control/ folder. The file is a **comma separated file (csv)**.  
The format of the file should be:

`IP_OR_URL,SEND_PORT,RECEIVE_PORT,DESCRIPTION,`

like e.g.:

`127.0.0.1,15000,15001,CUSTOM SERVER,`

Send this to your friends and the people that you want to use your server. You could also publish the details in this Forum or somewhere else on the web.

**STEP 5 : START THE SERVER**

You start the server by running the `start_server.sh` script:

`./start_server.sh`

The script will start `controller.sh` that acts as daemon running and monitoring the scripts`sender.sh`, `receiver.sh`, `filewatch.sh` and `logwatch.sh` in the background. People can now automatically sync with you by using the UCA link functionality.

**STEP 6 : STOP THE SERVER**

You stop the server by running the `stop_server.sh` script:

`./stop_server.sh`
