Custom Music without Spout/Mods

Discussion in 'Archived: Plugin Requests' started by jcreations, May 28, 2013.

  1. Offline


    ** PLEASE read the whole post before telling me this is not possible. I have a suggested method below to do it without Spout or client mods **

    Before I begin, I have read previous ideas and the rules for suggestions, and I am aware that this line is in the post guidelines:
    But, I believe that, myself being a programmer, and after doing some research, that it is possible to do Custom Music for clients without Spout or a client mod, with the following method.

    Plugin category: Fun

    Suggested name: Bukkit Music (or) No Spout Music

    What I want: The ability for a server to play custom music for a client, but without client modification or external software (besides a browser) by using a webpage.

    For an idea of what I'm thinking, it would be like merging these two plugins:
    -- and --

    With the ability in Minecraft 1.2 to click on web urls in the chat to open them, it is now easier than every to use a webpage as a "client" for something like this.
    On login to a server, (as part of the MOTD), ask the user to click on a link if they want to hear custom music. This will direct them to a webpage (hosted by the plugin) with a music player embedded in the site (like MusicService) that stops/starts streaming tracks from the server based on triggers from the inside Minecraft (such as regions, commands, etc.) similar to how CustomMusic works.

    This way, the music does not need to be on the client's computer (since it streams), and a program doesn't need to be downloaded (since it is a website).

    The Proof:
    Here is a quote from the MusicService plugin:
    This is the kind of webpage/"client" I'm thinking of (but maybe stream without Flash via Javascript and HTML5)

    Also, here is an example of CustomMusic, using their client program which doesn't modify minecraft in any way. This is the kind of result I would like:

    Ideas for commands: Same commands as CustomMusic

    Ideas for permissions: Permissions for using each command

    When I'd like it by: Whenever possible. I appreciate any efforts to make this plugin a reality! I'd love to use it as soon as it can be made.

    * I am willing to help create the webpage portion of the plugin, but I do not know Java, so I cannot help with the plugin itself *
  2. Offline

    timtower Moderator Moderator

    jcreations isn't sending packages to an webpage and then back to an client somewhat weird? What is wrong with CustomMusic?
  3. Offline


    1) The webpage is just the music player, and it would not communicate back with the server or Minecraft client. The server changes the music that is playing on the webpage based on in game triggers. 2) CustomMusic requires a downloaded client and four open ports, plus it is out of date and appears abandoned.
  4. Offline

    timtower Moderator Moderator

    jcreations The developer hasn't been online sinds February so you are pretty much right. And how do you want to send everything to the web page?
  5. Offline


    isn't it possible to create instead of a Webpage, a standalone Java-Application which runs locally and receives these packets and turns them into sound?
  6. Offline

    timtower Moderator Moderator

    Greennose120 Then you just get the same idea as CustomMusic, would still require open ports.
    And please tahg me if you reply to me ;)
  7. Offline


    timtower Basic HTTP GET or POST commands with a password could do or something like Websend ( A basic Web server that can be run alongside the server could make it easier since then you wouldn't need to embed PHP or anything in the plugin.
    Greennose120 I'm hoping that this would not require a client, since a webpage doesn't need to be downloaded. The idea was to do what CustomMusic does, without the client software.
  8. Offline

    timtower Moderator Moderator

    jcreations You know that you still need to open ports then? And the page needs to be refreshed before the user gets an new song.
  9. Offline


    Wouldn't it be easier to develop a Runnable jar SoundClient instead of a webpage?
    Isn't a locally running JavaApplication running more performant than a webpage?
    Another point is that you could use already opened ports as for example 80 or 25565
  10. Offline


    timtower Yes, but most people already have a web server/port 80 open. Also, it would only need one, not 4 or 5. Ajax or something similar could be used to not require a refresh, but if a refresh was needed, it would be fine.
    Greennose120 It would maybe have better performance, but again, the idea is to have no downloaded client required. With a webpage, just click on a link, and you are good to go :)
  11. Offline


    mhh. I do not have the knowledge to develop a webpage for this without using java applets and embed them....
  12. Offline


    Greennose120 I can to the webpage if someone else can do the Java.
    A Java applet could work... But I can write the streaming part myself if needed. All I would need is the plugin to use GET or POST requests to my scripts for it to work.
  13. Offline


    I have no idea how POST and GET works with Java...
    Maybe this could be easily done with DatagramPackets (UDP).
  14. Offline


    What about just asking if the player wants to listening to music without the webpage? I could do it all in-game and have it so it streams from a server depending on what your doing/giving in return for this.
  15. Offline


  16. Offline


    WebSockets, my friends. WebSockets is the solution. They're specifically designed as a high-speed, layerable two-way communication channel. There's implementations directly in the browser, or if you want, there's implementations for a Java client. See There's no need for any more port forwarding, because I'm pretty sure that you can have websockets run on the same port as the Minecraft server(that needs some testing... hmmm). What's great about this is, however, you can choose to have both a webpage and a Java client using the same protocol. If you need, I can attempt to implement this for communication.
  17. Offline


  18. Offline


    Gawdzahh Unfortunately, I am trying to play mp3 files. I have seen playing midi files with noteblocks before, but while interesing, it doesn't fit this plugin.

    If someone can program the actual plugin with websockets, get requests, or something better that works with a webpage or embedable applet, I can try to make the web part of the package.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Jun 1, 2016
  19. Offline


    Couldn't you just convert the files to .midi?
  20. Offline


    Gawdzahh They would sound completely different than the original if the song was simple, and complex songs wouldn't even convert since midi is based on musical notes and mp3 is based on actual sound waves. Most mp3s cannot convert to midi because of this.

    MDCreator Thanks for that, it looks promissing. I will look into the web end of that.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Jun 1, 2016
  21. Offline


    Something like this has been done by "The Hive" server in their game The Herobrine.
  22. Offline


    And it has been done already:

    I think many other people would appreciate this since the CustomMusic plugin is defiantly gone now :( There are many comments on the page ( saying that is is incompatible and the developer is not responding.

    Still looking for anyone who can help with the Java part. I can do all the code for the web stuff, and it can be hosted without an external program with something like BukkitHTTPD ( I only need triggers for the events to start/stop the music.

    ** If I cannot find anyone who can help with the Java, I may try to create this with other plugins and script packages for them, and release it with instructions. **

    Thanks to anyone who can help!
  23. Offline


    Cant you guys just stream the song with twitch tv and give them the link to ur channel then they play while listening to ur computers songs
    Just as simple as that
  24. Offline


    Twitch is for screen streaming. Also this topic is two months old.
  25. Offline


    jasonjsuperstar Each player has a different audio stream based on their location... that wouldn't work :(
    Spaceyavin I am still watching, but it is getting old.

    I am learning Java (slowly), so I may come back to this later myself. We'll see!
  26. Offline


    It would be epic if this could work. It would be great to have to sounds for different areas of map, great for an RPG server.

Share This Page