From ATCSMon Wiki
Jump to navigation Jump to search

Hardware considerations for running your own ATCS Server

PC Hardware

I have run ATCS servers on a handful of different platforms and here is some of the info I have picked from various "test" set ups. Processor usage values are referencing when the system is "idle" without any extra applications running except the server components (ATCSMon and in the case of the system that also encoded live audio, using a ShoutCast or OddCast streaming MP3 encoder). This information could be used as a baseline for deciding whether the computer you plan to use as an ATCS server will be adequate for data decoding with a low error rate. There are plenty of variables that could cause some systems to work better or worse than others.

Server 1: dual 400 MHz PII/256 MB RAM/Windows XP Pro This was my first ATCS server and ran with a total of four instances of the ATCSMon.exe program (one BCP, one MCP, one DDE instance, one combination). This setup worked fairly well, but I found that my overall packet error rate went down when I reduced the number of instances to just two. To me, this hinted to the fact that perhaps a little more processor power would help the decoding process. I never noticed exceptionally heavy processor usage, but admittedly was not logging this type of information at the time. This server had two PCI sound cards for ATCS data.

Server 2: 600 MHz PIII/256 MB RAM/Windows XP Pro This was my second system and was used with three instances of ATCSMon.exe (one BCP, one MCP, one combination) and this system seemed to work well. This system had a total of two PCI cards for decoding ATCS data. The error rate was fairly consistent and processor usage tended to be less than 20% most of the time.

Server 3: Athlon 1.7 GHz/512 MB RAM/Windows XP Pro This is my current server. This system has a total of four PCI sound cards installed in it with three instances of ATCSMon.exe (one BCP, one MCP and one EOT data) and runs the ShoutCast MP3 audio encoder for encoding audio for the live railroad feed from my website. This is certainly the most robust system but also runs the most applications of any other server. Even so, this system tends to run at less than 10% processor utilization most of the time.

Server 4: 266 MHz Pentium laptop/128 MB RAM/Windows 2000 This system was an experiment really and proved to not have sufficient resources to reliably run as an ATCS server. I ran two instances of ATCSMon.exe (one BCP, one MCP) and the processor usage was typically 60% to 80%. Also, any time other applications were started, the usage would rise to 100%. This system might be usable. Personally, I do not like running any equipment that close to full capacity and decided not to pursue this system as a possible server.

Power Considerations

Power Protection

Surge Supressor

Always a good idea if you have any desire to keep your computer alive in the event of a brief power surge, including nearby (but not direct) lightning strikes.


Budget Operation - No UPS

No right or wrong but here's my opinion and approach on powering servers, or "why I don't use a UPS".

Power failures tend to be of two likely natures at a household: 1) Seconds at a time in which wind blows a branch into a powerline and falls off, the "reclosers" break and remake the circuit and all's well inside of 30 seconds. 2) The branch or critter persists and after the recloser tries a few times it gives up, in which case you're in it for at least an hour until the power company shows up and corrects the issue, longer if a storm made them busy.

So, rather than spend $100 and up (more than the value of any server PC attached to it) on a 15 minute UPS that would not keep the server up long enough to survive the second scenario anyways, I'm inclined to let the server drop immediately. In the first scenario, everything boots up and is ready and running, clients reconnecting inside of 6 minutes. That's barely enough time for most internet clients to notice anything is awry, and..."too bad so sad"...99.0% uptime is fantastic for this purpose, have a nice day. If the PC is disposable like mine are, you don't particularly care if a power hit takes it out except when there's severe travel involved in which case, a nice surge suppressor will do. Recall that a UPS does not protect against power spikes (high voltage) (like lightning) any better than a surge suppressor (unless it's a regenerative UPS and those cost thousands of dollars), because the only thing it uses to deal with that IS a surge supressor. It may kick in and shut off the supply if the supply voltage persists too high (bad pole transformer) but lightning is too brief. A UPS does protect against a sag (low voltage), but generally that's not going to mess up your PC power supply permanently, it'll just make the PC cranky and reboot, and who cares if you lost the day's logfile, at worst.

UPS require expensive batteries to be replaced every couple years if you want the thing to work.

Some UPS squeal loudly for the entire time they are providing power in an outage...make sure your server host is aware if you choose to use one.

Servers on a shoestring budget can employ the principle of "good enough". I know many pride themselves on high availability of ATCS servers, I sort of pride myself on spending as little as possible to cover the most frequent risks by accepting and not spending on covering the less frequent risks.

(A UPS is useful for a home PC that you are typing your doctoral thesis on. If you're not saving your work often and there's a power interruption, it will give you time to save and gracefully shut down the computer.)

  1. ExampleHardware

Server Hardware Example

Equipment for a substantial server installation as listed by Barry Baines, WD4ASW, who maintains several dozen servers, mostly in the southeastern United State:

RF Equipment %BR% Outside:

  • 800/900 MHz antenna
    • Omni antenna for receiving from multiple directions
    • Yagi antenna for better reception in one direction (Example: M2 Inc.
    • Stack Yagis with phasing harness for even better reception
  • Structure to mount the antenna (install TV mast or use existing structure, but generally higher is better)
  • Mast mounted Pre-amp (ARR P900VDG with N-connectors and RF Choke tuned to 896.3 MHz-936.4 MHz) placed in a PVC enclosure (6' long by 3" diameter pipe with cap) and stainless steel clamp to mount PVC enclosure to mast below the antenna. Power for the preamp is supplied through the coax.
  • 3' LMR-195 Male-N to Male-N coax jumper between antenna and preamp
  • LMR-400 coax between preamp and 'shack' with Male-N connectors on each end (length is dependent upon mounting point and where RF equipment is located)

Inside the structure ('shack'):

  • ARR DCINJ-N (DC Injector with Female N-Connectors to insert power into the coax to run the preamp)
  • 18" Male-N to Male-BNC jumper between Male-N connector on DCINJ-N injector and BNC input on PD2B
  • ARR 2P2B Port Divider (BNC male connectors on both input and output allows one antenna to feed two radios)
  • Two 18" Male-BNC to Male-MiniUHF jumpers (to connect between port divider and two radios))
  • Maxtrac 800 MHz MCP Radio
  • Maxtrac 900 MHz BCP Radio
  • Two power cords for Maxtrac radios with Anderson Power Poles
  • Two audio cords for Maxtrac radios (take audio from the discriminator)
  • 2A 12VDC power supply (if two radios, otherwise a 1A 12 VDC PS will suffice)
  • Saratoga 4-Port Power block (has four sets of Anderson Power Poles to attach two radio power cords, power to the DC Injector and power from the power supply)

Note: If only a single radio is needed, then the Advance Receiver Research (ARR) PD2B and hardware associated with the second radio (Maxtrac radio, iMIC, audio cable, power cable) are also not needed. Instead, use a 18" Female-N to Male-MiniUHF coax cable to connect the single Maxtrac to the DCINJ-N.

Computer Hardware

  • 2 Griffin iMIC2's (audio to USB converter), one for each radio. Use an iMIC; do NOT try to use the computer's internal sound card or cheap 'dongle'. The Griffin iMICs are proven performers for decoding ATCS packets.
  • Pentium Computer (300 MHz CPU or higher) with 128 MB RAM or more running WinXP Pro/SP3 with all updates installed. I try to use equipment which has 'boot on power up' enabled so that in the event of power loss, the computer will automatically start upon resumption of power.
  • UPS 350VA backup (provides 20 minutes of backup). I plug the 12VDC/2A power supply into the 'surge' side of the UPS and the computer into the 'battery' side of the UPS.
  • Ethernet connection (CAT5 preferred/WiFi only used if no other option). If using WiFi, an internal WiFi card with external antenna works best.
  • If the host doesn't have an available ethernet port, add a 5-port switch with 18" CAT5 jumper to provide a connection. In some cases, the host may have a single computer attached to a DSL modem. In this case, a router may be required instead. If WiFi is required due to placement of equipment, a WAP (wireless access point) may need to be added if there isn't existing WiFi at the site.
  • Mouse/Keyboard if CPU BIOS requires it. If the computer doesn't need these devices permanently attached, I don't leave them.

Note that display attached to the computer is not needed. I bring a 10" monitor, keyboard and mouse to the server site for final setup and then take the monitor and mouse/keyboard with me. A server computer should be a dedicated piece of equipment not used for anything else.

Computer Software

  • ATCSMon.exe (if running two radios, run two sessions) with each session configured to take data from one of the iMICs.
  • Batch file to start two sessions of ATCSMon (BCP session and MCP session)
  • ATCS 'Pitch' software to feed data to an aggregator
  • Both the batch and pitch programs are set to run on startup (place shortcuts in startup folder)
  • LogMeIn installed (allows remote operation of computer and is a free service
  • Firefox for internet browsing/downloading

-- Main.GaryHahn - 19 Aug 2009


The below comments were taken from the original ATCSMon TWiki site.

-- AlabamaRailfan - 29 Jan 2007

- from ctclibby 2008/11/11 Semper Fi!

We are currently running one ATCSMon instance using W2K ( servpac 4 ) on a PIII 500Mhz machine ( 512K processor cache ) with 512Meg of memory. Most of the time it runs @ 2% to 4% cpu and about 81Meg of memory with 3 users connected. I have been watching for a couple of hours now and am seeing a 5% error rate ( iMic is installed ). I can compare to the server running DT Libby which is about the same for this time period. Note that this is not a really busy sub as we only see 40 to 60 movements a day. So don't be afraid of using those old slower boxes for this. The most important parts of using old hardware is memory memory, memory, and processor cache. A celeron would not handle this at all! This machine sits in a corner all by itself and does nothing else but ATCSMon. TightVNC and a dns updater are also installed. TightVNC doesn't use much until you log in, THEN the cpu goes to 80% and stays there all the while. Also note that AlabamaRailfan is talking about a headless system and it kinda sounded like having a monitor, keyboard and mouse would cause the system performance to drop. Well, that is not the case it just makes it easier to put a box somewhere.

- from ctclibby again 2008/12/06 Server revisited!

Just to update you on the server stuff. I have RR Internet ( soon to be WindJammer ) at home and am using that for the server. The downtown Libby machine now feeds the home box. I did this as the outgoing bandwidth downtown is only 125K AND it is a wireless connection. It works just fine, but I decided that having stuff under my bench and using my Internet would be a better way to go. Bandwidth from the Libby server is tiny and I don't have to worry about ATCSMon users logging in. Since doing that I have undertaken getting Shoutcast setup and operational, installed the aggregator and EOT. I have a 1Ghz, 512M machine at home, and it is now running 3 instances of ATCSMon, ( One for data, one for EOT and one for me to watch the combined output of the Libby server, data and EOT ), the aggregator application, Shoutcast with Winamp, dynamic DNS, and VNC. Without an active VNC connection, I see 4% to 6% CPU along with 123Meg of memory used. Note that windoz does do stuff in the background and that will bump the CPU% for a few seconds every once-in-awhile. If I ever figure out how to choose ONE IP address with IPTraf, I will monitor the downtown server for a few hours and post the results here. Note that this is all my home machine does - well ok, so I might surf on it IF I happen to be at that keyboard... But there is NOT email or other apps ( besides the ones above ) running.