Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
service:index [2010/03/07 21:41] digitalmanservice:index [2023/12/23 02:31] (current) – Add screen shots digital man
Line 1: Line 1:
 ====== Services ====== ====== Services ======
  
-Synchronet Services((a feature suggested by Angus McLeod)) are loadable modules or external executables designed to be loaded by the Synchronet //Services Server// to service a particular TCP or UDP protocol for remote client connections. Synchronet Services are similar in concept to UNIX's [x]inetd services.+Synchronet Services((a feature suggested by Angus McLeod of ANJO BBS)) are loadable modules or external executables designed to be loaded by the Synchronet //Services Server// to service a particular TCP or UDP protocol for remote client connections. Synchronet Services are similar in concept to UNIX's [x]inetd services
 + 
 +===== Configure ===== 
 + 
 +The //Services Server// can be configured via [[util:SCFG]]:Servers->Services Server: 
 + 
 +<file> 
 +╔══════════════════════════════════════════════╗ 
 +║                Services Server               ║ 
 +╠══════════════════════════════════════════════╣ 
 +║ │Enabled                       Yes           ║ 
 +║ │Log Level                     Informational ║ 
 +║ │Network Interfaces            0.0.0.0, ::   ║ 
 +║ │Lookup Client Hostname        No            ║ 
 +║ │Configuration File            services.ini  ║ 
 +║ │JavaScript Settings...                      ║ 
 +║ │Failed Login Attempts...                    ║ 
 +╚══════════════════════════════════════════════╝ 
 +</file> 
 + 
 +... or (on Windows) via [[monitor:SBBSCTRL]]:Services->Configure: 
 + 
 +{{:service:sbbsctrl.3.20.srvcs.config.png}} 
 + 
 +... or by editing the ''[Services]'' section of the ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file. 
 + 
 +==== Services ==== 
 + 
 +Services are normally configured via the ''[[dir:ctrl]]/[[:config:services.ini]]'' file with some global settings controlled via the ''[Services]'' section of the ''[[:config:sbbs.ini]]'' file. 
 + 
 +... or (on Windows) via the "Services" tab of the [[monitor:SBBSCTRL]]:Services->Configure dialog: 
 + 
 +{{:service:sbbsctrl.3.20.services.config.png}} 
 + 
 +Some static services (e.g. the [[:service:ircd|IRC Daemon]]) may alternatively be executed independently of the //Services Server// using [[:util:JSexec]].
  
 ===== Service Types ===== ===== Service Types =====
  
-There four types of services supported:+There are four types of services currently supported:
  
   - Dynamic JavaScript (the most common service type)   - Dynamic JavaScript (the most common service type)
Line 12: Line 46:
   - Static Native   - Static Native
  
-===== Configuration =====+===== JavaScript Services ===== 
 +Additional methods and properties available to Synchronet Services written in JavaScript:
  
-Services are normally configured in the ''[[:config:services.ini]]'' file in the ''[[dir:ctrl]]'' directory.+==== Properties ====
  
-Some static services (e.g. the [[:service:ircd|IRC Daemon]]) may alternatively be executed independently of the //Services Server// using [[:util:JSexec]].+^Property  ^Type     ^Description^ 
 +|''logged_in'' |boolean|Indication if user has successfully authenticated or not| 
 +|''datagram''  |string |Contents of received UDP datagram (when applicable)|
  
-===== Standard Services =====+==== Methods ==== 
 + 
 +Along with the [[http://synchro.net/docs/jsobjs.html#global_methods|common global methods]], JavaScript services include support for the following methods: 
 + 
 +^Method   ^Returns ^Usage ^Description^ 
 +|''login''|boolean|''login(user, password [,increment_logins=//false//])''|Attempt to authenticate as specified user (name or number)| 
 +|''logout''|boolean|''logout()''                                          |Logout currently authenticated user| 
 +|''server.client_add''|void|''server.client_add(//Socket//, [user], [host])''    |Register client based on specified socket connection, with optional username and hostname| 
 +|''server.client_update''|void|''server.client_update(//Socket//, [user], [host])''|Update client based on specified socket connection, with optional username and hostname| 
 +|''server.client_remove''|void|''server.client_remove(//Socket//)''    |Unregister client based on specified socket connection| 
 + 
 +===== Included Services =====
  
 {{indexmenu>.}} {{indexmenu>.}}
Line 25: Line 73:
   * [[:config:services.ini]]   * [[:config:services.ini]]
   * [[:server:|Servers]]   * [[:server:|Servers]]
 +  * [[server:web|Web Server]]
 +
 +{{tag>tcpip servers services javascript}}