Jukebox for Sourcemod: Issues
Posted by Roadwolf on January 9, 2010
Working on getting this plugin working for my TF2 servers. This post is mainly just a aid to help with debugging.
Databases:
In my cpanel I have created so far 2 Databases.
The first Database was a MySQL 5.0 database, located on host 76.74.186.4:3306
DB Name= roadwolf_Jukebox
DB Users = roadwolf_Juke001; roadwolf_Juke002; roadwolf_JukePub
DB Pass = (various)
The database was populated using the SQL files located in the .zip file I downloaded which included all the files for this plugin. I manually populated (imported) the tables as the plugin did not do it for me.
The 2nd database was made under a theory that the capitol letters in the name was causing problems... Therefore I made the 2nd and current database.
DB Name = roadwolf_jukebox
DB Users = roadwolf_juke001; roadwolf_juke002; roadwolf_jukepub
DB Pass = flc611 (for all)
The fact that I have 3 users is because I planned on using this between 2 game servers and the web interface, so I was going to give each interface its own user. They all have full permissions. Currently I am only using roadwolf_juke001
I exported the database from roadwolf_Jukebox and imported it into roadwolf_jukebox. I did this because I had already added a bunch of music files to the system, and did not really want to have to re-upload them.
I also went into the Remote MySQL Access setup and entered the following IP addresses.
216.6.229.166 (16 Slot TF2 Server)
216.6.229.% (wildcard, incase the actual game server is different)
72.37.228.194 (33 Slot 'Main' TF2 Server)
72.37.228.% (wildcard, incase the actual game server is different)
Both of these servers are administered by DarkstarLLC out of their Chicago server hub.
In hindsight it might be better if I try with a fresh database.
Web Interface:
The Web Interface located at http://www.fastlanecrew.com/jukebox/ is the primary location for admins to upload music and control access.
I have only been able to make 2 users (myself plus another user) to access this database, when I should be able to make more. That is issue # 1.
The 2nd admin user to access this is FLCAdmin with the password of 'kjrwws044' I am giving that user ID out to anyone who is helpping me debug this issue.
http://www.fastlanecrew.com/jukebox/Jukebox%20for%20Source%20v0.5.3.0.pdf is the location of the PDF manual I followed during this whole installation.
This software allows a limited number of players in a private server to listen to music. It streams audio in HTML using the browsers native audio player. The audio files are encrypted and hidden.
In the Admin menu on the Web interface, you see your basic Admin control for adding and banning users. You also see Add New Tracks - within which is a list of .mp3 files which have been uploaded to the /fastlanecrew/jukebox/uploads directory. These files have not been converted yet, and are not playable by the plugin. This window lets you edit the metadata for each file before entering it into the system.
Browse allows you to browse through all the songs currently uploaded and transferred into md5 format. You should be able to play the songs from this window by clicking on the title of them. This will open a pop up window, which will then stream the music. This is exactly the same script which streams music in game.
In order to configure the web interface, you must ensure that the following files have the proper database information in them:
/fastlanecrew/jukebox/include/settings.php
/fastlanecrew/jukebox/include/login/constants.php
You also must ensure that you set a leech password to help encrypt the md5 music files. In my case, the leech password is as follows:
$leech_pass = 'windtalkersboomer';
Game Servers:
Both game servers will eventually have similar settings. Right now I am keeping debugging on 216.6.229.166:27015 until we get things working. This will minimise the impact on our regular players who enjoy the 33 slot server.
The FTP Access to this game server is as follows:
216.6.229.166:21
user: 105
pw: debug001
This server is running the latest stable version of Sourcemod, a 3rd party server administration mod (as Valve does not really have any built in server admin functionality). This is a popular mod.
The plugin itself is located here:
//216.6.229.166 port 27015/tf/addons/sourcemod/plugins/jukebox.smx
A scripting file is located here:
//216.6.229.166 port 27015/tf/addons/sourcemod/scripting/jukebox.sp
This plugin is what runs the ingame portion of things. In order for the plugin to work, it has to first detect a connection to the database.
You define this connection here:
//216.6.229.166 port 27015/tf/addons/sourcemod/configs/databases.cfg
I defined the connection as such:
"roadwolf_jukebox"
{
"driver" "mysql"
"host" "76.74.186.4"
"database" "roadwolf_jukebox"
"user" "roadwolf_juke001"
"pass" "flc611"
// "timeout" "0"
"port" "3306"
}
You also have to tell jukebox where to look, and redefine the anti-leeching password. You do that here:
//216.6.229.166 port 27015/tf/cfg/sourcemod/jukebox.cfg
// URL path to Jukebox's base folder.
// -
// Default: ""
jb_base_url "http://www.fastlanecrew.com/jukebox/"
// Named SQL connection to be used by Jukebox. Database must be defined within sourcemod/configs/database.cfg
// -
// Default: "default"
jb_db_conn_name "roadwolf_jukebox"
// Anti-leech password used to timestamp produced URLs. Must match the leech password specified on the web server.
// -
// Default: ""
jb_leech_password "windtalkersboomer"
With all of that defined, you stop the server. Wait 20 seconds, then restart the server.
Now its time to go in game.
Join Team Fortress 2, and connect to 216.6.229.166:27015.
At the moment, for debugging purposes, I have a password set on this server. The password is 'debug001'.
Once on the server, you will be able to type Y which will open up the in-gamechat window, and type !jb which will open up the Jukebox plugin menu. If this menu opens up, the database has connected, as there is a failsafe in the programming preventing it from opening if it is not connected.
Selection number 2 in the Jukebox onscreen menu will show 'Newest Tracks' and will have an updated time listed. Generally Dec 31, 1969 will mean it is not syncing with the MySQL Database correctly, but it is possible that it still might be synced? (yeah right?) so might as well press 1 and try to browse through the tracks. Obviously nothing happens as it is not connected. Typing !jb again will bring the menu up again, and if you type 7 you will bring up the help file in the in game browser.
At this point I am thinking it is a permissions issue somewhere. DarkstarLLC says they do not restrict outside connections at all.
To view debug files, you can find them here:
//216.6.229.166 port 27015/tf/addons/sourcemod/logs
//216.6.229.166 port 27015/tf/logs
As for access in game, I can give anyone helping me with this admin status on the debugging server. But I will need your STEAM ID number.
49 views since Feb 2 2024
Next FLC Bylaws