PROJECT INACTIVE Why? For a long time I've wanted to stop work on this project. It takes a great deal of my time and I get a lot of flak for it from users for either not doing what they expected, having some bugs, or not including the kitchen sink. Worse still I've been told that my pretty clear instructions in the video were just me showing off and not a tutorial, when in fact I was giving step-by-step instructions on how to set the plugin up. It's a pretty weary experience overall for no reward. In addition, I just got a new job that I start later this week that I'd prefer to focus on. We're on BukkitDev now! NOTE: Spout is NOT required to use this music service plugin. All music is sent to your users via an Adobe Flash plugin in the web browser. Your users only need a common web browser and Flash to hear the music. If you do not like the idea of making your users use a web browser, there are other music plugins that require your users to download a special program or install a special Minecraft client, just search the plugin repository. ATTENTION: WORLDGUARD USERS - Actually define your region, just selecting an area with the wooden hatchet isn't enough. Read the WorldGuard wiki for a tutorial on how to use it properly. Same goes for any other region/town plugin that I support, make sure you're following their directions on proper use of their land management plugin. If you receive a "no tower here" warning this is the reason why. In future versions of my plugin I will place a more descriptive warning. NOTE: I do not plan to support playback of Youtube because of their voluntary blocking of embedded music videos. If you've ever attempted to share your favorite music video on Facebook for example you'll notice that it says "This video contains content from ____. It is restricted from playback on certain sites." This means it is impossible to use Youtube as a type of internet radio. MusicService v1.5.2 Fixed exception in Towny handling code. This version is now incompatible with all past versions of Towny prior to 0.80.1.0. Disabled wilderness tower support until it is fixed to prevent unnecessary bug reports. Preliminary support for optional Spout support in the process of being added. Download: MusicService Download Source Code (MIT/X License): https://github.com/blakesteel/palisade/tree/master/MusicServiceGitHub Requirements: Requires a web browser; Chrome, IE, Firefox, Safari, Opera, etc. Requires Adobe Flash 9 or better. Plugins Supported: Factions Towny WorldGuard Regios iZone Plugin Dependancies: None Summary What does the plugin do? Server admins can now provide Internet radio playback on any player's land. Players can walk into the wilderness and the music stops. Walk onto any land and the internet radio station chosen by the owner of that land starts playing automatically. The music covers their entire land. My plugin does not require you to have Spout. The potential for this is that if you have the SAM broadcasting tool from Shoutcast.com or the tools available on icecast.org you can be your own DJ and host your very own dance club inside Minecraft with this for example. Or, you could simply set your land to your favorite music station. Roleplay servers could even use it to play different music in different towns to set the mood or even play back ambient tracks for scary areas, etc. Instructions: Place the MusicService.jar in your bukkit's plugin folder. When you run the server for the first time with the plugin installed it will create a default config.yml that looks like: wwwPort: 8888 refreshUrl: http://localhost:8888/ ...You can edit this to point localhost at your domain or you can put your ip address instead if you don't have a domain: wwwPort: 8888 refreshUrl: http://0.0.0.0:8888/ Start your server and login with the Minecraft game client. Set up a Factions faction, Towny town, WorldGuard region, Regios region, or iZone zone. If you want icecast, use findice, but if you want shoutcast you just type (NOTE: /ms can be used instead of /music): /music findshout grunge You can also type your own search sentence there to find your own style of music. You should now see a list of ShoutCast stations (taken from Shoutcast.com), so now type: /music pick # Where # is the number of the station from the list that you want to play. Open your favorite web browser (Firefox has been reported to be having some trouble lately by some users). Requires Adobe Flash 9 or better. In your browser type: http://yourdomain.com:8888/ You will be presented with a page that lets you type your name in, and then click the button to visit your music player page. Or, you can visit: http://yourdomain.com:8888/yourMinecraftId.html Keep in mind if you aren't logged into the minecraft server you will get a 404 page not found error. Music should start playing now. Walk outside of your land and the music stops. Walk inside your land again and the music will start again. Be aware, there is a slight delay. NOTE: If you don't have a domain, you can get free dynamic dns software and a free dns name from http://afraid.org or http://dyn.com/dns/. The software runs in the background on your computer and always makes sure the dynamic domain name points to your IP address. Or, you can contact your ISP and ask to pay extra for a static IP address, one that doesn't change. And, you could purchase a domain (google for domain registries) and point it at your static IP. Commands: NOTE: You can type /ms wherever /music is used. /music findshout <searchString> Finds music on shoutcast.com for you to play. /music findice <searchString> Finds music on icecast.org for you to play. /music pick # Picks the # from the results provided by findshout and findice. /music reload Attempts to reload the music station at your position. /music setshout url The URL represents the ip : port of the shoutcast stream location you wish to play. /music setice url The URL represents the ip : port of the icecast stream location you wish to play. Permissions: Please note the music service commands are only usable by default by ops so you need to allow them in your permissions system if you want others to use the commands. musicservice.* musicservice.setshout: description: Set the music URL for this shoutcast location. musicservice.setice: description: Set the music URL for this icecast location. musicservice.reload: description: Reload the music at this location. musicservice.pick: description: Pick the music stream produced by either findshout or findice command. musicservice.findshout: description: Find music streams on shoutcast by searching. musicservice.findice: description: Find music streams on icecast by searching. Features: Allows users to set music on their land. Players can listen to music via the web site, and as they move around the land it changes stations. Factions support. Towny support. WorldGuard regions support. Regios support. iZone support. ShoutCast.com radio streams (commercial broadcasting tool by AOL / Nullsoft makers of winamp). Icecast.org radio stations (free open source broadcasting tool - clone of shoutcast). To Do: Residence support. Use signs to switch or set channels. Add a lock music command that users can use to force the radio to stay on a certain channel. Add a listen music command that allows a user to override and play their own station for themselves anywhere. Add a list stations command to list all possible stations in the world. Add a request station command that would send a land owner a player's desire for a particular station. Look into optional support of Spout for direct playback. Allow fading in and out of the music as the player moves into or away from the area where the station plays. Create a cookie in the browser for the user so they don't have to login every time. Support SoundCloud. Support Pandora. Allow global music stations that cover the entire world. Known Issues: Chrome plays music slightly quieter than other browsers. Not much I can do about this one. Complain to Google. Changing your faction name drops the station and you have to setmusic it again. Wilderness stations are not working correctly anymore. If you try to access the music web page via 192.168.x.x local addresses, the web page will not refresh correctly and therefore when you enter or leave your land the music cannot change. This has so far been confirmed to happen on Google Chrome, I'm not sure about the other web browsers. How To Host Your Own Radio Music Stream: Here's a video on how to configure DNAS support in the Winamp music player: http://www.metacafe.com/watch/yt-sKpJ6ebqon8/winamp_shoutcast_tutorial/ NOTE: You don't have to fill in the aim/icq/irc areas that he fills in. And, also where he places the URL you can just put your IP address if you don't have a domain. Also, as he mentions in the video the bitrate at which you want to encode will need to be limited by your available upload bandwidth, he uses 128kbit as an example but you can raise or lower this to match your actual bandwidth capabilities. At the end of the video he tells you to put it on line input, don't do this unless you're a DJ in real life and have turntables/microphone/etc. You can just leave it on the option to play from the winamp playlist which you should load up with all your favorite music. I also found a text tutorial for how to set up the commercial program on shoutcast.com called SAM, this is for SAM3 so it is not the latest version but it shows the general idea of how to use that product: http://sl.digistream.info/sam-encoder.html And, this fella has a tutorial on icecast: http://www.korokithakis.net/tutorials/icecast/ Additional Information: http://dev.bukkit.org/server-mods/musicservice-play-music-anywhere/pages/changelog/ DISCLAIMER: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.