Some info
Server signature
Directive ServerSignature
Goal : KiSS player needs before connecting to a pclink server (kissdx) to broadcast an "ARE_YOU_KISS_PCLINK_SERVER?"
and all server should answer its name. KiSS player displays this list and enables user to choose the winner.
For network configuration of multiple pclink server, it's enable an easy way to select a server.
For exemple: 3 NLSU server hosting movies in range : [A-H] [I-M] [N-Z]
Basic feature of displaying hostname is not so convenient.
Syntaxe : ServerSignature = (mixed of free text and reserved keyword)
{ShortHostName} = Short hostname (ex: debian2)
{FullHostName} = Full described hostname (ex: debian2.homeip.net)
{Version} = Version of kissdx currently running (vX.XX-XX)
{VersionDate} = Date of this version (yyyy-mm-dd)
{ConfigReloadStatus} = PC-Link server research results in reloading configuration
Reparsing kissdx.conf may trigger a (OK) status or failed (conf!)
If failed, the last correct configuration is kept in memory.
Default : {Name} - kissdx {Version},{VersionDate}{ConfigReloadStatus}
Exemple : debian2.homeip.net - kissdx v0.13-xx,2007-03-xx(OK)
[edit]
Interaction "ServerSignature & ConfigAutoLoad"
Directive 'configautoload' enable not to reload configuration on reception of UDP broadcast If serversignature include 'ConfigReloadStatus' and 'configautoload' is disable (no), any UDP broadcast reception does not reload the configuration file and the serversignature information send back to KiSS player does ignore the 'ConfigReloadStatus' information
Log information (/var/log/syslog) track an "Identity request" and response to the players
... Extract of log (not verbose)...
... Extract of log verbose ...
[edit]
kissdx code impact
Which part of kissdx code is to be modified and in which way ...
* Global synopsis of ServerSignature
= Current state in 0.13.10a
kissdx.c_main() : command line option analysis, then parse_config (read kissdx.conf), start udp listener, start daemon
= Proposition
* parse_config() should isolate the configuration of serversignature, do a minimalist check
if configuration of ServerSignature is accepted, then parse_config return OK and stores info
* udp_responder() may not calculate for each request the correct answer to send back
* do_daemon() may calculate once the correct answer and store it in 'config' object
* config.h: typedef struct config_settings_s ...
* config.c: config_settings_t config; // Holds the current config settings as read from kissdx.conf
* Code modification
kissdx.conf
Insert section with ServerSignature
kissdx.c
Extend dodaemon() and udp_responder()
The existing function string_substitute(haystack, needle, substitute, haystack_size) in utils.c
should be used for substituting values for the {keywords} in the signature template.
config.c
Parse .conf and detect ServerSignature, default value is set. unkown command is interpreted as free text
An empty value for ServerSignature is the only fatal error that will return error=1
and display already existing message "Error(s) in the configuration file prevent kissdx from using the file."
config.h
Adapt config_settings_t structure to include "char serversignature[255];"
[edit]
Unit test use case
01 serversignature = (none information following the equal sign)
02 serversignature = [A-H] films (targeted usage for end user)
03 #serversignature = (comment the line in configuration file)
04 serversignature = Uppercase {FULLHOSTNAME} (specification is case sensitive)
05 serversignature = {UnkownValue}
06 serversignature = A too long line with too much information xxxxxxxxxxxxx yyyyyyyyyyyyyyyy zzzzzzzzzzzzzzz
07 serversignature = multiple instance of {ShortHostName}-{Version}/{ShortHostName}-{Version}/{ShortHostName}-{Version}
08 ServerSignature = Use an upper first letter for directive name
kissdx behaviours to unit test
01 test passed (KiSS player needs something to display in server found list)
Conf Fatal : Invalid line in config file: [serversignature =]. Expected [Option] = [Value]
Error(s) in the configuration file prevent kissdx from using the file.
02 test passed, configuration accepted
03 test passed, default value is selected
{ShortHostName} - kissdx {Version},{VersionDate} {ConfigReloadStatus}
serversignature = ubuntugsi - kissdx v0.13.1x,2007-09-01 {ConfigReloadStatus}
04 test passed, wrong settings are not interpreted, and do not create errors
serversignature = {FULLHOSTNAME}
05 test passed, same behaviours as test 04
06 test passed, KiSS player trucate line and finish with '...'
07 test passed, multi keywords are supported
08 test passed, directive name in configuration file are not case sensitive
you never use loader hymm oke also lets use him becuse i think some day you instal some of bots
or make some modify whit media.pk2 download edx for start
set the PORT: on 16000 and [Patch Seed] on / redirect gatewat on / NOP HACK on
set directory of your sro and run it by lounch
if not helps / go silkroad and rename SroErrorSender.exe or just delete it.
if not helps / change your edx on Hardmode and let us know