Hey, guys and gals. It's been a long time since I last wrote a plugin, but I've been working a lot on web based stuff. I thought, why not link the two? And thus, the Fire family is born. This is the first of several Firebase related plugins in development. Firebase is a new database (firebase.com) that does something absolutely crazy: live. One word. It allows me, the developer, to simply and easily update database data and that data is instantly updated on all other clients. Crazy, I know, but bear with me. They were bought by Google, but there is still a free option that fits almost anyone's needs (yes, even Hypixel's). So here it is: FireChat.
FireChat
Screenshots
What is it?
It's a chat log built off the experimental Firebase database. Read above.
How do I benefit?
Chat logs aren't fun. They've never been fun, and they never will be fun. "LOLOLTROLOLOL JOIN ABC.XYZ/notavirus" is never fun to deal with. You have to either be online or FTP in and read the log when you get a report. Enter FireChat. FireChat is not the first web-based chat log, but it's the only one that can claim that within a second (on a mediocre connection) of someone saying something in chat, the web interface is updated with the message. That's pretty sweet. Because it uses Firebase, it opens the possibilities of quick and painless search, UUID lookups, custom filters, all without a single line of [CENSORED] MySQL. Don't get me wrong, SQL has a few uses. Like... um... in a garbage can (see posts like this beauty).
What does it store?
For any given message or command, it stores the player's UUID, the player's name at the time, the message/command, whether or not it failed, the server timestamp (that's Firebase server's timestamp), and the type (message/command- mostly for the web site to differentiate).
How many can it store? My server's kinda big.
The free Firebase plan gives you 1GB storage free. That's somewhere over a million messages and commands. If you ever need more, you can just make a new one and change the base URL in your configuration file. Firebase also allows you to download your database as a JSON file if you ever need a backup or hard-copy (highly unrecommended, it's a little confusing).
Anyways, the point is you're not running out of space anytime soon.
How about XYZ as a feature?
I'd love to add it, just open a new ticket and I'll be on it!
Developers
Firebase is an aspiring technology. I love it, I love it, I love it. Please check them out at (firebase.com) and maybe check them out for a future project. I have no association with them other than as a customer. I do not represent them and their technology or pricing could change at any moment. I don't get paid by you clicking the link. Just disclosure :).
The front-end
Included in the download is your very own, courtesy demo front-end. If people are interested in it I'd be happy to make some different styles. It's pretty obvious how to install it for any techy guy. I'll make a tutorial for that soon. It uses the Ionic Framework to look good anywhere (desktop, mobile, airborne) and AngularJS for the actual functionality. If you have ANY issues at all with it, feel free to open a ticket. I'm not making you a custom one just for you (unless your gamertag is Hypixel), but if you want to recommend one I might make it for public use. THE DEMO DOES NOT AUTHENTICATE USERS. I want to make that absolutely clear. Do not use it on a production server because anyone could then see anything you do in chat or otherwise.
Configs, configs, configs
There's only one field in the config, and that's your base URL. It defaults to nothing and the plugin won't run like that. Go to firebase.com, sign up, and create a new app. The base url will be exactly what it says:
Security
By default, anyone has read/write access to your Firebase database. There are many online guides on how to regulate this. Change it so that only your game server's IP can write, and if you want to limit the readability to just your website then do that.
Big thanks
Huge thanks to the Firebase team for all the support they've given me over time on various projects. If you need any Firebase-related support (not related to this plugin at all), contact them.