Old 5th September 2013, 22:41   #1
hugowfr
Junior Member
 
Join Date: Sep 2013
Posts: 18
Hi there,

I'll get into the server setup / environment shortly, but here's a brief description of the problem:

I promise Ive googled to the best of my ability, but I cant find anyone else who is struggling to 'kick' users - you can *ban* an IP, and when they decide to disconnect and next try to reconnect it will refuse them, but the actual process of KICKing (kickdst) simply doesnt work.

Ive tried with private stations and YP registered public stations, but the result is the same.

The server and environment;

1) running ShoutCast v2.0.0.29 64bit
2) running on Ubuntu 64bit
3) running on port 8000, normally 2 streams (sid=1 and sid=2) and currently also got a 'test' stream going (YP public) but that will be down by the time anyone reads this.
4) tune in @ http://www.worldfusionradio.com

Like I said, you can ban user's and they cant reconnect once disconnected, but the only way to force a disconnection is to actually re-start the stream ...

Here's the sc_serv.conf file (with the relevant bits hashed for security purposes);

---start snippet
yp1debug=1
yp2debug=1
cpucount=4
shoutcastsourcedebug=1
uvox2sourcedebug=1
shoutcast1clientdebug=0
shoutcast2clientdebug=0
relayshoutcastdebug=1
relayuvoxdebug=1
relaydebug=1
streamdatadebug=0
httpstyledebug=0
statsdebug=1
microserverdebug=1
threadrunnerdebug=1
rtmpclientdebug=1
webclientdebug=0
password=#########
adminpassword=########
;requirestreamconfigs=1
;publicserver=never
logfile=./Documents/shoutCast_serv\sc_serv.log
w3clog=./Documents/shoutCast_serv\sc_w3c.log
banfile=./Documents/shoutCast_serv\sc_serv.ban
ripfile=./Documents/shoutCast_serv\sc_serv.rip
maxuser=500

streamid_1=1
streammaxuser_1=250
streampassword_1=########

streamid_2=2
streammaxuser=250
streampassword=#######

streamid_3=3
streammaxuser_3=250
streampassword_3=#######
streamauthhash_1=#####################
streamauthhash_2=#####################
streamauthhash_3=#####################
----end snippet


I cant find anything on the ShoutCast v2 Developer WIKI to even kick users, there's something about kicking the source, but "kickdst" isnt even covered.

Many thanks for your assistance!
Cya
Hugo

p.s. forgot to mention: when you click on the 'Kick' button, nothing appears in sc_serv.log at all, the webpage is simply refreshed and you logfile indicates this...

p.p.s. the DJ connects in from a remote machine and uses RadioBoss
hugowfr is offline   Reply With Quote
Old 5th September 2013, 22:50   #2
DrO
 
Join Date: Sep 2003
Posts: 27,873
it's an intermittent bug with the v2 DNAS and the build you're using. what you're doing to work around it is the only workaround for that build.
DrO is offline   Reply With Quote
Old 5th September 2013, 23:07   #3
hugowfr
Junior Member
 
Join Date: Sep 2013
Posts: 18
one of my roles at work is 'testing' of bespoke inhouse software, so i know the following question is going to grind you, but <clenches>;

.. by "intermittent", do you mean 'most of the time'? - we've never had it work.. you can merily sit there randomly clicking on 'Kick' across any of the 30+ listeners without affecting anyone's listening ability..

AND/OR

is it 'intermittently decided' at each start of the shoutCast daemon/program?

AND/OR

is it 'intermittently decided' when each listener connects?

....

sorry
/hugs
xxx
hugowfr is offline   Reply With Quote
Old 5th September 2013, 23:14   #4
DrO
 
Join Date: Sep 2003
Posts: 27,873
Quote:
Originally Posted by hugowfr View Post
is it 'intermittently decided' when each listener connects?
as well as the platform version being used as to how funky it is as well as what else is present on the machine as to the memory offsets used to create the listener reference. so it can completely fail or work or intermittently fail based on the above or just won't be processed at all correctly due to another issue.
DrO is offline   Reply With Quote
Old 5th September 2013, 23:18   #5
hugowfr
Junior Member
 
Join Date: Sep 2013
Posts: 18
Well, A*+ for customer support and service - thanks!

Hope AOL let you get some coding time on SC before the next ice-age ;P

Have a nice evening!
Regards.
hugowfr is offline   Reply With Quote
Old 6th September 2013, 11:10   #6
ProFusion
Junior Member
 
Join Date: Jun 2003
Posts: 8
Quote:
Originally Posted by DrO View Post
it's an intermittent bug with the v2 DNAS and the build you're using. what you're doing to work around it is the only workaround for that build.
Then what build of v2 should anyone be using?
ProFusion is offline   Reply With Quote
Old 6th September 2013, 21:15   #7
alfabravo14
Banned
 
Join Date: Feb 2013
Posts: 70
I´m on v2.0.0.29 also
cause that is what comes with a hosted Centova service.

I´m shocked that such a bug even exist
all i know if i sell something to my customers
i first test it ...a version where a link,button or important function dont work
would never make it to my customers.

...aaarrggh.

So...eeeh what other bugs exist in this version ?
alfabravo14 is offline   Reply With Quote
Old 7th September 2013, 20:27   #8
DrO
 
Join Date: Sep 2003
Posts: 27,873
this is the nature of bugs - if i waited to fix everything and release it... oh wait, i tried to do that after the build 29 release by holding back builds until i'd not had any newer bug reports and look at the shit i've gotten for that in addition to all of the other issues with getting releases out. every piece of software has bugs and on reflection i should have just done point releases every month or two with updates than what happened but what happened has happened and that's just how it goes.


if it failed 100% of the time then it would have been fixed before build 29 was released. however, as it's intermittent as i've tried to explain and the kick issue never appeared during our testing because of the reasons i'd explained previously. or to make it simpler, you need to rub your tummy, pat your head, jump on the spot and for the sun and moon to be in a specific alignment for the issue to appear.


and this issue only appeared intermittently when people started using the v2 DNAS as no one wanted to use the beta builds and only started testing it when it was out of beta and due to that (as there's only so much which can be internally tested - if you can achieve 100% testing coverage and 0% bugs then you're a mythical being) then this wasn't caught.


and based on 1 response back to the test build of the v2 DNAS i sent out 2 weeks back, it makes me seriously wonder if there's any point in even trying to get a fixed build released if those who explicitly said they wanted to help and test out updates just don't care.


http://forums.winamp.com/showthread.php?p=2790357#known lists the main issues. and not that you'll believe it, but the following is the changelog between build 29 and what is part of those internal builds sent out:
  1. Added a setup mode which allows basic configuration of the server when run without a configuration file (see documentation for usage)
  2. Added a builder mode which allows for the configuration builder to be run within the server (broadcasting is disabled in this mode)
  3. Added automatic authhash generation when a stream source is connected on a public stream and an authhash was not already present (can be disabled using autoauthhash=0)
  4. Added /statistics which consolidates all of the /stats?sid=# results for all known and active streams
  5. Added 'flashpolicyserverport' allowing the DNAS to serve up the Flash policy file (as per 'flashpolicyfile') on port 843 or a custom port (as well as on 'portbase')
  6. Added serving of 'shoutcast.swf' for custom flash players to be handled in the same domain as the server (see documentation for usage)
  7. Added listen.xspf and listen.qtl to the /listen* playlist options available (so now pls, m3u, asx, qtl and xspf are available on a stream)
  8. Added 'portlegacy' to allow changing or disabling the port legacy v1 sources connect on (see documentation for usage)
  9. Added 'streamportlegacy' to allow for supporting more than one direct legacy v1 source connection to the server (see documentation for usage)
  10. Added 'publicport' to allow changing the port reported to the YP servers and any clients using the /listen.* playlists where 'portbase' is not the port externally seen
  11. Added option on 'Server Summary' page (accessed from admin.cgi?sid=0) to allow for manually setting the stream authhash e.g. if needed for a relay
  12. Added 'Stream DJ' (if known) on the stream admin pages as well as <DJ/> in all statistics for getting the current DJ of the connected source (more formal specification than fiddling the IRC / AIM / ICQ values as used with v1 DNAS setups)
  13. Added 'streammaxbitrate' and 'maxbitrate' options for per-stream or global limiting of the source bitrate allowed for a connection
  14. Added 'streambackupurl' option for per-stream fallback if the original source (direct or via a relay) fails to keep the stream alive (see documentation for usage)
  15. Added server bandwidth usage reporting for the server administrator via the admin.cgi?mode=bandwidth action (see documentation for usage)
  16. Added JSON and JSON-P responses to the /stats?sid=# and /statistics responses by appending &json=1 for JSON and appending &callback=<function> for JSON-P
  17. Added XML, JSON and JSON-P support to the /played response as well as to support &pass to allow song history access to the XML, JSON and JSON-P responses even when public display of them is disabled
  18. Added admin.cgi?mode=viewjson as a JSON and JSON-P equivalent of admin.cgi?mode=viewxml (see documentation for usage)
  19. Added ability to kick all connected clients on a stream via the stream admin summary page in addition to the existing single client kicking
  20. Added 'redirecturl', 'streamredirecturl' and 'streamhidestats' options for per-stream or global redirection / blocking of publically accessible pages when 'hidestats' or the new 'streamhidestats' options are enabled
  21. Added SIGUSR1 and SIGUSR2 support in non-Windows builds for reloading the configuration file from the console (see documentation for usage)
  22. Added SIGWINCH support in non-Windows builds for reloading the Reserved IP file(s) from the console (see documentation for usage)
  23. Added support for GZIP (RFC 1952) encoding of appropriate page and data responses if supported by the requesting connection and will provide a bandwidth saving
  24. Added a 'View Source Login Details' page to the server summary page to make it easier to get the login details required for all appropriate stream configurations
  25. Added sp=<streampath> support to all web methods which support sid=<streamid> to be able to access a page by streampath instead of streamid - streamid is still the preferred method (see documentation for usage)
  26. Added 'admin.cgi?mode=viewlog&viewlog=save' method to allow for downloading the server log output as a GZIP compressed archive (useful for checking the log output remotely or for support issues)
  27. Added 'streammovedurl' option for per-stream redirection of permanently stopped or moved streams from the server
  28. Added archiving of log, w3c and streamw3c files when rotating these files would cause them to be deleted (which happens when there are usually five rotated copies already)
  29. Added 'logrotates' and 'logbackup' options to provide finer control over the rotation (default of 5 files) and backup (default off) of the log files during rotations
  30. Added icy=http parameter detection on v1 client connections to return a HTTP instead of a ICY header response type e.g. serverort/?icy=http
  31. Added 'url' parameter to the 'updinfo' action to replicate v1 DNAS functionality which had not been re-implemented in the v2 DNAS
  32. Added 'ypstatus' method for the server administrator via the admin.cgi?mode=ypstatus action (see documentation for usage)
  33. Added reporting of the stationid for public listings on the server and stream administrator pages
  34. Added 'streamuptime' to the /stats and /statistic responses to aid in monitoring of the length of source connections to the server
  35. Added /streamart?sid=# and /playingart?sid=# methods as a public version of the verions viewable via 'admin.cgi?mode=art&sid=#'
  36. Added back /7(.html) support due to issues in getting legacy reporting tools updated to support the recommended 'stats' methods
  37. Added admin.cgi?mode=history as an admin page equivalent of played.html?sid=# so stream administrators can easily see the played history of the stream
  38. Improved YP interaction when the IP address of the DNAS changes whilst it is still broadcasting (requires YP update for this to work fully)
  39. Improved handling of source relay connections especially via the server's admin pages e.g. a pending source relay connection can be aborted
  40. Improved handling with large client numbers to reduce CPU usage as well as not crashing when exhausting the imposed maximum file descriptors (e.g. ulimit -n)
  41. Changed 'streampath' to default to / for streamid=1 to improve compatibility (/stream/<sid>/ is still default on all other streams)
  42. Changed config file handling to automatically use 'sc_serv.ini' or 'sc_serv.conf' if present if no config file is specified (better replicates v1 DNAS behaviour)
  43. Changed relayconnectretries to accept zero (relayconnectretries=0) to keep trying to reconnect to the relay source and changed the default to 0 from 3
  44. Changed reporting of the YP connection state on the admin pages to make it clearer if the authhash is invalid or empty
  45. Changed the 'Stream Configurations' xml response to fill <STREAMAUTHHASH/> with EMPTY or INVALID on error as applicable
  46. Changed YP2 connection attempts to not be made if the authhash is determined to be invalid or empty
  47. Changed 'hidestats' to allow for more control over the pages which are able to be disabled (see documentation for usage)
  48. Changed 'updinfo' to not need 'type=xml' as it now auto-detects how to process the title information received
  49. Changed 'configrewrite' to accept 'configrewrite=2' so now 'configrewrite=1' generates minimal configurations (only saves values not at the default) and 'configrewrite=2' outputs all configuration options (like 'configrewrite=1' used to do)
  50. Changed YP2 handling to show the stream number, outputting of detailed error messages (where provided) and not output /yp/resp/updatefreq errors
  51. Changed handling of the SHOUTcast site player client connections to not send in-stream metadata to workaround issues with title changes
  52. Changed song history and current song titles shown in any reports to use the pre-formatted title from the source if available (does not change titles in clients)
  53. Changed handling of introfile to attempt to strip any tags from the raw file to improve client compatibility
  54. Changed client listener reports (via the stream administrator page and xml reports) to now be sorted oldest to newest
  55. Changed w3c log handling to output header information to improve tool compatibility (replicates v1 DNAS behaviour)
  56. Changed handling of 'streamid' so if not specified then a stream configuration will be created if any appropriate stream* options are read on loading
  57. Changed SHOUTcast 2 source logging to only output complete metadata and connection details when using uvox2sourcedebug=1 (instead of always as before)
  58. Changed all /listen* playlist options to output the 'backupserver' provided by the YP where possible
  59. Changed some of the server and stream admin page header links to better hide invalid options and to make navigation easier, etc
  60. Changed the configuration reload option ('admin.cgi?mode=reload' on the 'Server Summary' page) to also update the debugging options and other options (see documentation for additions)
  61. Changed Reserved IP handling to allow connections from 127.0.0.1 through even if not specified (allows access to admin pages)
  62. Changed the Ban and Reserve IP administration actions to save changes (if enabled) at the time instead of only on exit
  63. Changed YP2 stream registration to wait until the source has provided a title to allow the station listing to appear sooner (requires YP update for this to work fully)
  64. Changed handling of authhash changes via the update option to update the current stream information without requiring the stream(s) to be restarted
  65. Changed server summary page to count inactive relay configurations (if correctly specified) as available streams so it is possible to restart them easier
  66. Changed the user agent (mainly for relay connections) to now be 'Ultravox/2.1 SHOUTcast Server x.x.x.x' (where x.x.x.x is the version and build numbers)
  67. Changed the stream admin page to also report the type (v1 or v2) of the connected clients
  68. Changed the current listener list on the admin summary page (admin.cgi?sid=#) to group client connections from the same IP address (make non-unique connections easier to find)
  69. Changed all /listen.* handling to use the public IP of the DNAS as reported by the YP when publically listed (requires YP update for this to work fully)
  70. Changed 'flashpolicyfile' handling to use an internal copy if a custom file is not specified (which has the benefit of specifying the actual ports used)
  71. Changed console output to highlight errors in red, warnings in yellow and debug output in green to make them more obvious (cannot be disabled)
  72. Changed the 'view logfile' administration pages to highlight errors, warnings and debug output to make them more obvious (colours can be changed via css)
  73. Changed /stats?sid=# to support &pass to allow stats access even when public display of them is disabled
  74. Changed Windows builds to only send warning and error messages to the event log in service mode or if a critical error happens on startup before file logging occurs
  75. Changed autodumpsourcetime and streamautodumpsourcetime to be known as autodumptime and streamautodumptime respectively to better reflect the general usage of these options
  76. Changed server summary page to display configured but non-running configurations along with active sources and inactive relay configurations
  77. Changed 'yptimeout' default from 60 to 30 seconds
  78. Changed 'Shoutcast Metadata Puller' handling to only return the title update (if enabled) instead of the audio data to help save bandwidth on popular listed streams
  79. Changed GCC version used to build the Linux versions (now using GCC 4.4.6 instead of GCC 4.1.2 from CentOS 5.8)
  80. Changed 'admin.cgi?sid=#&mode=kickdst' to support IP address(s) in addition to the existing unique client id(s) support
  81. Removed Ultravox 2.0 (old Aol Radio) client and source support (reduces memory and cpu usage - amount depends on the setup used)
  82. Removed 'yp2' configuration option and the ability to run the DNAS in YP1 mode
  83. Fixed all reported issues with the authhash management system since it was first released for public use
  84. Fixed random crashes due to incomplete / dodgy client requests made to the server (resolved from user reports)
  85. Fixed destip not being followed for YP connections so binding to a different IP or using a DNS name should now work (requires YP update for this to fully work)
  86. Fixed some rare issues with binding to a custom destip failing when it should have worked
  87. Fixed updating of 'streampath' not causing a YP details refresh (remove then add) on any changed stream configurations
  88. Fixed crash on Windows versions after choosing a config file to use when run without write permissions to create 'logfile' when no config file is specified
  89. Fixed crash on non-Windows versions when processing invalid xml metadata from sources
  90. Fixed some attempts to create / update authhashes not working due to url-encoding issues with the data passed on to the YP
  91. Fixed handling of clearly invalid authhashes to not show the update and remove admin options
  92. Fixed handling of 'unique' causing the DNAS to lockup on loading in some scenarios
  93. Fixed some relative path issues when using 'include' in some scenarios
  94. Fixed v1 sources not able to connect if icy-name / icy-url are empty even if titleformat / urlformat have been specified
  95. Fixed stream url on the summary pages not providing valid links in some scenarios
  96. Fixed MAXLISTENERS on /stats?sid=# reporting maxuser instead of streammaxuser when no source is connected
  97. Fixed UID in the Listener Stats being output in the wrong number format
  98. Fixed the 'Unique Listeners' total on the administrator summary page not always reporting the correct number
  99. Fixed the SHOUTcast Directory metadata puller / tester client statistics filtering due to related YP changes
  100. Fixed accessing the root summary page with the Opera browser to not start streaming like a client connection
  101. Fixed /currentsong?sid=# not returning a title if present when songhistory or streamhistory is zero
  102. Fixed titles not appearing in the SHOUTcast Directory listings when using a v1 source in some scenarios
  103. Fixed some v1 sources (e.g. butt) not being able to connect in some cases due to non-standard icy* headers received
  104. Fixed the windows w3c log file outputting additional linebreaks which were not required
  105. Fixed some Winamp v5.5x clients being incorrectly sent a v2 instead of a v1 SHOUTcast stream (resolves missing stream titles)
  106. Fixed loading issues related to not being able to create the logfile and force reverts to default path
  107. Fixed OS path conversion on config file entries not always working e.g. when moving a windows config to linux
  108. Fixed relays not running if http:// was not specified (is now automatically appended internally)
  109. Fixed additional issues relating to relay connection errors including not following the retry timeouts in all scenarios or not attempting to reconnect in specific scenarios
  110. Fixed the next song being incorrectly reported at times or not being correctly cleared as applicable
  111. Fixed enabling 'riponly=1' blocking access to the admin pages of the DNAS plus it now allowa connections from 127.0.0.1 / localhost through even if not added to the list (for local monitoring)
  112. Fixed Banned and Reserved IP checks not always working (better validates against per-stream and global lists now)
  113. Fixed handling of user agents with invalid control characters causing log / reporting issues
  114. Fixed issues with 'admin.cgi?mode=reload' attempting to keep updating values which were already updated or incorrectly removing additional stream configurations when only 1 needed removing
  115. Fixed accessing a stream using 'streampath' not working correctly in all cases e.g. when no / was prefixed for the entry in the configuration file
  116. Fixed current song display issues with some v1 based relays where non-english characters are present and were not correctly handled as utf-8
  117. Fixed issues with multiple connection attempts generated for an already pending relay connection via the configuration reload or 'startrelay' method or when a relay is removed but was pending
  118. Fixed issues with Windows service and non-Windows daemon use primarily when no configuration file is specified (see documentation for amended usage)
  119. Fixed more clients than is specified for (stream)maxusers if only reserved clients are allowed to connect to the server (will reject reserved clients if no one can be kicked to free a slot)
  120. Fixed listen.pls generation for NSV streams generating incomplete playlists (all other playlist formats were generated correctly)
  121. Fixed out of order metadata packets being incorrectly handled if another metadata packet of a different type is received whilst waiting on an existing type (mainly affected in-stream artwork)
  122. Fixed checking for configuration files not always working on non-Windows versions or incorrectly reporting a directory as a valid file
  123. Fixed 'w3clog' and 'streamw3clog' not always being rotated when using SIGHUP or when the main log file is auto-rotated or on starting the server
  124. Fixed DNS lookup issue on non-Windows builds which could prevent access to the SHOUTcast servers
  125. Fixed crash when getting repeated connection attempts and no source is connected in rare cases
  126. Fixed some invalid characters being kept from song title updates which could cause some of the XML responses being invalid
  127. Fixed title updates from some v1 based sources not being accepted when allowed by a v1 based DNAS server previously
  128. Fixed some DNAS provided web page access failing in specific OS and machine configurations
  129. Upgraded libraries to use expat-2.1.0
  130. Other miscellaneous code changes, de-duplication of error messages, cleanup of normal running log messages, admin page tweaks and minimisations, improvments and related documentation updates
DrO is offline   Reply With Quote
Old 7th September 2013, 20:34   #9
hugowfr
Junior Member
 
Join Date: Sep 2013
Posts: 18
My word! nice bunch of fixes there 8D

/me goes away to get some food and re-read more thouroughly, but a quick search seems to indicate that the 'Kick' feature is probably fixed (can use IP address instead of just 'client ID') ..

[posts merged]

Great list of fixes Daz - thanks.

I hate to ask the question, but is there a rough eta for a release with these fixes in it?

Thanks
Regards
hugowfr is offline   Reply With Quote
Old 7th September 2013, 23:30   #10
DrO
 
Join Date: Sep 2003
Posts: 27,873
i gave up trying to hold to any form of eta as all i get is abuse from a number of users about the dates not being met even when i gave the best eta at the time and was true with what i knew / had been agreed on but then things change and i'm just tired of getting it in the neck when it's not in my control.
DrO is offline   Reply With Quote
Old 8th September 2013, 09:26   #11
hugowfr
Junior Member
 
Join Date: Sep 2013
Posts: 18
Fair do's
hugowfr is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Shoutcast > Shoutcast Technical Support

Tags
kick, kicking, shoutcast v2

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump