SCInterface v2.x System Requirements
From SCInterface Wiki
SCInterface consists of three separate tiers: the top tier (the UI), the middle tier (the SCManager), and the bottom tier (the SControllers). This document describes the system requirements that must be in place for each tier.
Contents |
Hardware Requirements
Even though the UI, SCM and SC can run on the same system, below is a breakdown on the guidelines and general recommendations to run SCInterface as smoothly as possible.
| Number of Physical Servers (SCs) | Number of End User (UI) | Network Speed Between UI and SCM | Network Speed Between SCM and SC | Processors for the SCM | Memory | Disk | Dedicated UI Required | Dedicated SCM Required |
|---|---|---|---|---|---|---|---|---|
| 1 - 5 SCs | < 10 Users | 10MB/sec | 10MB/sec | 1 CPU | 512MB | IDE / SATA (7200 rpm) | No | No |
| 6 - 75 SCs | < 200 Users | 100MB/sec | 100MB/sec | 2 CPUs | 1GB | SATA / SCSI (7200+ rpm) | No | Yes |
| 76 - 150 SCs | < 300 Users | 100MB/sec | 100MB/sec | 4 CPUs | 2GB | SATA / SCSI (10,000+ rpm) | Yes | Yes |
| 151+ SCs | 300+ Users | 100MB/sec+ | 100MB/sec+ | 4+ CPUs | 2GB | SATA / SCSI (10,000+ rpm) | Yes - SCInterface Cluster | Yes for every 150 SCs - SCInterface Cluster |
The number of applications (game servers, interfaces, etc.) that SCInterface can control is only limited by the processing resources of the system that the SC is controlling. This vary substantially from application to application. View some example configurations to get an idea of how some implementations of SCInterface have been completed and successfully tested in the field.
SCInterface can control all SCs through a single UI no mater how many SCs. However, performance depends on a number of factors including speed of the connection between the SCM and the SCs, the amount of available memory and CPU and the speed of the disk.
UI Hardware Guidelines
The number of users along with the number of SCs that the SCM will be controlling will have a direct impact on the performance of SCInterface.
SCM Hardware Guidelines
The SCM is the brains of SCInterface and scales its computing resources based on the number of end users that login to the UI and SCs that is controls. As a general guideline:
- Controlling 1-5 SCs = 1 processor dedicated to the SCM
- Controlling 6-75 SCs = 2 processors dedicated to the SCM
- Controlling 76-150 SCs = 4 processors dedicated to the SCM
- Controlling 151+ SCs = Add in a new SCM to setup an SCInterface cluster
NOTE: It is recommended that the SCM not run on a virtual platform since a processor must be dedicated to the SCM to manage and control the SCs.
SC Hardware Guidelines
The SC is designed to have minimal impact on the server that it is controlling. A system powerful enough to run the applications that you are controller. For game servers, a minimum of a dual core system is recommended. For embedded systems, a small micro-controller will work. This varies from the environment you are trying to control.
Software Requirements
The software for SCInterface is composed of:
Software: UI
The UI user interface is written in PHP and requires a working web server with PHP support enabled (we recommend Apache). The interface may be hosted on Linux, Unix, or even Windows servers. In addition to a working installation of PHP 4, the following PHP libraries are required:
- php4-gmp
- php4-mcrypt
- php4-mhash
- php4-session
- php4-sockets
- php4-zlib
Software: Linux SCM
The SCM is written in the C language and runs on the Linux operating system. An SCM shell script installer is available that automates the SCM installation process and installs any required libraries that are not found on the host system. It uses PostgreSQL version 7.x or 8.x as the database. PostgreSQL must be installed prior to running the SCInterface installer. The installer will set up the Postgres databases, tables, and users needed to communicate with the SCM. Most of the libraries required by the SCM will be packaged except for system libraries (such as libc) and libpq.so.4 (postgresql client lib).
For those of you using postgresql 7.4, libpq.so.4 might not be installed as it was released with postgresql 8.0/8.1 (8.2 uses libpq.so.5). Look in your package manager for which package supplies /usr/lib/libpq.so.4 and install that package. For redhat entreprise / centos, rpm packages are available on www.postgresql.org.
Software: Linux SC
The Linux SC is written in C and run on Linux and FreeBSD. An SController installation script is available that automates the SC installation process and checks that the following packages are installed:
- sh
- screen
- expect
- sudo
- useradd
- groupadd
The SC can be embedded into nearly any linux compliant system or used in combination with an HC.
Software: Windows SC
The Windows SC is written in Java and runs on nearly any version of Windows including 2000, XP and 2003. A Windows SController installation setup is available that automates the SC installation process. This is available only to commercial customers of SCInterface and is not compatible with the OL (Open Source) package of SCInterface. With the addition of support for Windows, the SC can be embedded into nearly any windows compliant system.
If you have any unanswered questions about SCInterface requirements, let us know.
Examples
The following are a list of common example hardware setups that have been successfully deployed in the field
Example #1: One Server with 2 Half-Life Servers
| Number of SCMs | Number of Physical Servers (SCs) | Number of End User (UI) | Network Speed Between UI and SCM | Network Speed Between SCM and SC | Processors for the SCM | Memory | Disk | Operating System for the UI | Operating System for the SCM | Operating System for the SC | Applications |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 SCM | 1 SC | 3 Users | local | local | 1 CPUs | 1GB | SATA 7200 rpm | Linux Apache with PHP (same server) | Linux (same server) | Linux (same server) | Two Half-Life servers |
Notes: All of SCInterface was installed onto the same system as the Half-Life server applications.
Example #2: One Server with 6 Half-Life Servers
| Number of SCMs | Number of Physical Servers (SCs) | Number of End User (UI) | Network Speed Between UI and SCM | Network Speed Between SCM and SC | Processors for the SCM | Memory | Disk | Operating System for the UI | Operating System for the SCM | Operating System for the SC | Applications |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 SCM | 1 SC | 10 Users | local | local | 2 CPUs | 2GB | SATA 7200 rpm | Linux Apache with PHP (same server) | Linux (same server) | Linux (same server) | Six Half-Life servers |
Notes: All of SCInterface was installed onto the same system as the Half-Life server applications.
Example #3: One Server with 1 Battlfield 2 Server
| Number of SCMs | Number of Physical Servers (SCs) | Number of End User (UI) | Network Speed Between UI and SCM | Network Speed Between SCM and SC | Processors for the SCM | Memory | Disk | Operating System for the UI | Operating System for the SCM | Operating System for the SC | Applications |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 SCM | 1 SC | 2 Users | local | local | 2 CPUs | 2GB | SATA 7200 rpm | Linux Apache with PHP (same server) | Linux (same server) | Linux (same server) | One Battlefield 2 game server |
Notes: All of SCInterface was installed onto the same system as the Battlefield 2 Linux server. Server applications such as Battlefield 2 are extremely CPU, memory and network intensive.
Example #4: Two Servers with Half-Life
| Number of SCMs | Number of Physical Servers (SCs) | Number of End User (UI) | Network Speed Between UI and SCM | Network Speed Between SCM and SC | Processors for the SCM | Memory | Disk | Operating System for the UI | Operating System for the SCM | Operating System for the SC | Applications |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 SCM | 2 SCs - One Linux and One Windows | 10 Users | local Linux | local Linux SC; 10MB/sec to Windows SC | 1 CPU | 1GB on the Linux server; 2GB on the Windows Server | SATA 7200 rpm on both servers | Linux Apache with PHP (same server) | Linux (same server) | Linux (same server); Windows 2003 | 4 Half-Life servers on the Linux Server; 8 Half-Life servers on the Windows Server |
Notes: None at this time.
Example #5: Large Deployment of 251 SCs
| Number of SCMs | Number of Physical Servers (SCs) | Number of End User (UI) | Network Speed Between UI and SCM | Network Speed Between SCM and SC | Processors for the SCM | Memory | Disk | Operating System for the UI | Operating System for the SCM | Operating System for the SC | Applications |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 SCMs | 251 SCs - Mix of Linux and Windows in three separate datacenters | 800+ Users | 1000MB/sec to the first SCM; 10MB/sec to the second SCM | 100mb/sec within each datacenter | 4 CPUs/Cores on first SCM; 4 CPUs/Cores on second SCM; 2 CPUs on third SCM | 2GB on first SCM; 2GB on second SCM; 2GB on third SCM | SATA 10,000 rpm on both SCMs | Linux Apache with PHP on a separate dedicated server | CentOS 5 | Linux CentOS 4 and 5; Windows 2003 and Windows XP | Lots of different applications and configurations - Supported Game and Voice Servers |
Notes: A total of 4 separate servers were required for this set up (1 UI dedicated web server and 3 SCM dedicated servers). These separate servers do not have any other applications running on them This setup was configured with the assistance of the SCInterface staff (http://www.scinterface.com/support) in an SCInterface Cluster configuration with three SCMs. All 251 SCs and their applications were controlled through a single web interface.

