Prism-v2.0Beta2

Details

  • Filename
    prism-2.0Beta2.jar
  • Uploaded by
  • Uploaded
    Nov 11, 2013
  • Size
    505.96 KB
  • Downloads
    1,171
  • MD5
    3c9b86abcdd6e7f1b557a2c7bfdbd168

Supported Bukkit Versions

  • 1.7.2

Changelog

Prism 2

On the surface, Prism 2 is just as feature-rich and easy to use as Prism 1.

Under the hood, Prism 2 offers a massive database rewrite that addresses all of the problems Prism 1 has endured.

Please note: This is a beta release. Prism itself is very stable and has been trusted by thousands of servers in our first ten months. However, this database overhaul needs to be well tested by the community before we consider that portion production-ready.

Database Overhaul

We've revamped the underlying database, which is why we bumped the version number so much. If you want
to convert all Prism 1 data, please use the script linked in the following section.

This work has the following benefits:

  • Dramatically faster query performance (up tp 77% faster based on 18 million record test db)
  • 25%+ reduction in database file size (based on 18 million record test db)
  • Prism doesn't rely on MySQL server for timestamps. Never deal with time differences again
  • Proper tracking for enchantment plugins that overload items
  • We can finally track and rollback book content (by the way, we now track and rollback book content)
  • Longer player names (from modded servers) won't cause database errors

Migration Script

During beta we recommend you wait before migration a production server unless you're comfortable wiping prism data if 2.0 final has any database changes

If you're ready to convert from Prism 1 to Prism 2, please follow these steps:

  • Copy migration script (or run each query by itself): http://pste.me/fbFfZ/
  • Shut down your minecraft server. Prism should not be writing/reading from the database.
  • We highly recommend you backup your current database
  • Execute the SQL in MySQL (directly is best, control panels like phpMyAdmin may time out for longer queries)
  • Install Prism 2 jar.
  • Start the server

or, you can keep it simple and wipe your existing data and start over - if that's your cup of tea.

Web UI 2

We also fixed up the web UI to work with prism 2. Not only that but we rewrote parts of it so that it's easier to manage, faster, and we fixed a few bugs.

http://botsko.s3.amazonaws.com/Prism/Prism-WebUI-v2.0.zip

Only minor config changes, you may keep your existing config.php

You can find all future builds of the Web UI here:

http://discover-prism.com/dev/builds/

Modded Server (FTB,etc) Container/Inventory/TileEntity Support via MCPC+

We've been working with the MCPC+ team to bring a new level of tracking to modded servers. Thanks to bloodmc, MCPC+ and MCPC+-Legacy have been updated to allow Prism to track and rollback the contents of modded container blocks.

Be sure to grab the latest builds of MCPC+ or MCPC+-Legacy for your FTB (or other) server.

NOTE: Please look for custom Prism JAR files with "MCPC" in the filename. If you're on FTB Unleashed, which is currently Minecraft 1.5-based, please use the Prism MCPC MC1.5-Compat jars.

In-Game Reports

Now that we sport a brand new database schema, we can finally implement some helpful reports (a frequent request from former LogBlock users).

There's already a report subcommand which we intended to expand for this purpose. The first two new reports are:

  • /pr rp sum blocks (player) - Gives a count of placed/broken blocks (sorted by total, descending) for a specific player.
  • /pr rp sum actions (player) - See the actions this player has caused the most of. If you see lighter in the list, it's worth looking into!

We'll expand with new reports and improve functionality over time. If you're using a resource pack with a non-monospace font, the columns won't look amazing. Oh well.

Other Changes

  • Renaming container-access to container-open
  • Adding new event container-close that tracks when the player closes the container.
  • Adding new event block-dispense for when a dispenser/droppers drop or place items. Cannot currently be rolled back.
  • Previews now show all block changes, rather than only the first 1000.
  • Fixed internal debug timing class to properly flush timings after each query, was leading to highly inaccurate timings and timer events piling up.

sqlite Support & Future DBs

We didn't want to delay 2.0, so once 2.0 is stable and out there we're going to continue work with replacing our query generation with a real database abstraction layer. We've spent time trying/reviewing jOOQ and a few others but we're not decided yet. jOOQ would be perfect and solves a few problems we have, but adds 1.2MB of weight to Prism even when stripped-down. Despite that not being a big deal, I don't want Prism to seem bloated.

Once this query work is done, we'll be able to support sqlite, Postgres, and a few others. However, sqlite support has officially been removed until this work is complete. sqlite itself is not at all a high-performance database that we need. I'm happy to have inspired others to move to it.

My time is limited so I'd rather spend it supporting the 92% of you using MySQL, 100% of the time.

Anyway, look for dev work on the DBA coming soon. Hopefully for 2.1. Input and PR work always accepted.

Maven Repo

We've finally moved Prism to our nexus server so that you include it in your projects. We're no longer serving development builds from our S3 servers, so be sure to look in the nexus repo for them.

<repository>
   <id>dhmc-repo</id>
   <url>http://dhmc.us:8081/nexus/content/repositories/public/&lt;/url&gt;
</repository>


<dependency>
  <groupId>me.botsko</groupId>
  <artifactId>prism</artifactId>
  <version>2.0-Beta2</version>
</dependency>

Prism API

FYI, the API is A-OK.

No changes from v1 to v2.

Oracle

Many have asked about detailed playtime tracking. I want to remind everyone that another plugin of ours, Oracle offers extremely detailed playtime tracking, plus cross-server bans, warnings, guide books, and much more. Despite being a beta, it's stable. We've used it without issue for months (and its predecessor for a year before that).

Feedback

Docs and help at http://discover-prism.com

As always, hit us up on IRC or our bugtracker.

Feel free to use http://pste.me to paste-bin prism errors to us. Shameless self-promotion.

+++++++++++++++++

Older changelogs available at: http://discover-prism.com/blog/