Both sides previous revisionPrevious revisionNext revision | Previous revision |
service:index [2010/02/22 00:51] – digitalman | service:index [2023/12/23 02:31] (current) – Add screen shots digital man |
---|
====== Services ====== | ====== Services ====== |
| |
Services are configured in the [[:config/services.ini]] file. | 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 ===== |
| |
| There are four types of services currently supported: |
| |
| - Dynamic JavaScript (the most common service type) |
| - Static JavaScript (e.g. the [[:service:ircd|IRC Daemon]]) |
| - Dynamic Native |
| - Static Native |
| |
| ===== JavaScript Services ===== |
| Additional methods and properties available to Synchronet Services written in JavaScript: |
| |
| ==== Properties ==== |
| |
| ^Property ^Type ^Description^ |
| |''logged_in'' |boolean|Indication if user has successfully authenticated or not| |
| |''datagram'' |string |Contents of received UDP datagram (when applicable)| |
| |
| ==== 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>.}} |
| |
| ===== See Also ===== |
| * [[:config:services.ini]] |
| * [[:server:|Servers]] |
| * [[server:web|Web Server]] |
| |
| {{tag>tcpip servers services javascript}} |
| |