SEconomy - Server-sided economy, currency and ranking - Update 16 1.0.23

Server-sided currency, ranking and economy system

  1. Wolfje

    TShock Admin TShock Mod Zero Day Plugin Author

    Joined:
    Jul 2, 2013
    Messages:
    191
    SEconomy Update 16

    Without futher adieu, weeks upon weeks of work, I finally present to you SEconomy Update 16. This is a special release because SEconomy and most of its subsystems have been completely rewritten to facilitate further functionality, and to clean up the dead and old source code that is either not useful, buggy, or plainly old and deprecated. SEconomy, CmdAlias, and Jist have been completely separated out into their own packages; you now do not have to use all the components if you do not desire.

    A personal message from me

    I'd hate to do have to finally do this, but SEconomy and Jist has been a lot of work to maintain, and I am the only person that maintains their codebases. SEconomy is always going to be open-source and free, but it now costs me money to host and my time that I have for SEconomy has far waned since the project began: SEconomy has outgrown a project for fun into a fully-fledged piece of software that requires a lot of effort to maintain and keep stable.

    I have not made a single cent off the development of SEconomy, Jist, or any other plugin, whereas I have enabled server owners to make thousands. So please, if you use my software I would encourage you to donate to ensure the continued support for SEconomy, particularly if your server profits from my ranking system or currency; it would really help me out and give me some extra sweet thanks for my effort.

    [​IMG]

    Thanks again.

    Update 16 Features

    This release marks SEconomy as stable as I haven't had any running issues with it for quite some time. I'm also happy with the featureset to finally bring it out of preview
    • Bugfix Release
    • Fixed some WorldEc problems where people could gain more money than a mob is worth
    • Jist: Fixed some data races in the Jint interpreter on property accessors and internal state dictionaries, greatly improving the stability of running Jist scripts
    Update 15 features
    • /sec[onomy] start|stop|reload - completely unload and reload SEconomy without restarting your server
    • MySQL journal support - keep your SEconomy journal in a MySQL server, instead of in XML files
    • XML2SQL.exe - Import your old XML journal to SQL
    • Completely rewritten XML journal saving system, should eliminate corruption
    • Localisation support - translate SEconomy messages into your own language
    • Static rewards for PvP, with overrides on TShock groups
    • WorldEc now hands out the correct rewards for all mobs in all cases
    • Runtime reward multiplier - Having an event? Raise your rewards multiplier with /sec multi
    • Fixed an exploit where modified attack times could result in more rewards than possible
    • Jist is now separated, and has been completely rewritten based on the jint-2.0 runtime
    New Commands
    • /sec stop - Completely stops SEconomy
    • /sec start - Restarts SEconomy from scratch, reloading all configuration and the journal
    • /sec reload - Reloads SEconomy by performing a stop followed by a start
    • /sec multi <multiplier> - Change the World economy gain multiplier from 0-100x, with 0 being gains disabled and 100 being 100x normal rewards
    New Permissions
    • seconomy.rank.exclude - Players with this permission cannot use /rank up (ranking-system-2.0)
    Download

    Full package (recommended) - Contains everything: SEconomy, Jist, AliasCmd and scripting support - ranking-system requires this version
    Lite package - Contains SEconomy and AliasCmd, no scripting support
    Standalone package - Contains SEconomy only, no scripting, and no alias support.
    Source code - Contains the up-to-date source code for the current preview.

    Changelog

    [+] Added polymorphism support to SEconomy, unload, start and reload support
    [+] Added disposable support to all subsystems
    [+] New command: /sec[onomy] rl|reload: Completely shuts down and refreshes SEconomy
    [+] New command: /sec[onomy] stop: Stops and unloads SEconomy
    [+] New command: /sec[onomy] stop: Starts a new instance of SEconomy
    [+] Added website and author information to /bank and /sec
    [+] Localization support
    [+] en-AU language
    [+] MySQL journal support, supports writing of the journal in an SQL database
    [+] MySQL journal squashing support
    [+] Static rewards for PVP kills
    [+] Override support for static rewards for PvP kills based on TShock group
    [+] XML2SQL.exe: migrate your XML journal file to an SQL table
    [+] localeviewer.exe: localisation viewer program called localeviewer.exe for translators
    [+] JS function: acmd_cooldown_reset(player, alias): resets the cooldown in a script
    [+] JS function: acmd_cooldown_set(player, alias, secs): overrides the cooldown in a script
    [+] WorldEconomy now supports a custom multiplier, set from 0-100 with /sec multi <multiplier>
    [-] Removed old EPRS database import code
    [-] Removed old dead profiler code
    [-] Removed most static members in SEconomy plugin
    [-] Removed TSPlayer extensions as they now feature in TShock itself
    [-] Removed /bank enable|disable because it has forever done nothing and nobody even cares
    [-] EconomyPlayer has been removed, and the GetEconomyPlayerSafe methods are deprecated
    [c] Changed most ContinueWith delegates to awaits in .net 4.5
    [c] Rewrote Configuration interface
    [c] WorldEconomy now does not hand out more rewards than a mob's health
    [c] WorldEconomy now takes into account the correct damage algorithm
    [c] WorldEconomy now uses the PvP transaction flag for PvP kills
    [c] Rewrote startup interface to be more streamlined
    [c] Stopped GZipDecompress from going MS -> Byte array and then back to MS again
    [c] Removed all the console bananaery inside SaveJournal
    [c] Cleaned up startup TUI
    [c] AliasCmd/JistAlias: more resilient to command failures
    [c] AliasCmd's cooldown ability now goes by TShock username and not character name
    [c] Cooldown mechanism is now based on when users can next run the command

    Todo / Not finished
    • Localisation support is not finished yet, please hold off on contributing translations for SEconomy
    • Few more things I can't think of right now
    /
     
    • Like Like x 7
    #1 Wolfje, Jul 26, 2014
    Last edited: Mar 2, 2015
  2. Wolfje

    TShock Admin TShock Mod Zero Day Plugin Author

    Joined:
    Jul 2, 2013
    Messages:
    191
    Credits
    • MarioE, for helping me fix WorldEconomy, and the Main.time to real-time code
    • IcyPhoenix, for helping me with WorldEc and nagging about SQL journal support
    • Ijwu, for heading up the effort in turning this place around into something worth contributing to
    And special thanks to everyone who helped me out posting issues in a coherent manner, and suggesting features that makes SEc more awesome, you guys are awesome.
     
    • Like Like x 2
  3. Wolfje

    TShock Admin TShock Mod Zero Day Plugin Author

    Joined:
    Jul 2, 2013
    Messages:
    191
    reserved
     
  4. Loganizer

    Plugin Developer

    Joined:
    Dec 2, 2012
    Messages:
    212
    Your donate button doesn't work.
     
  5. Wolfe

    Wolfe Level 9

    Joined:
    Jan 3, 2012
    Messages:
    386
    My best guess is, he copy and pasted this post from his site and forgot to edit the donate button accordingly. Here's where his donate button leads. Taken from this post. I'll remove this post when he updates it, since this probably looks scammy to anyone who doesn't trust me :p

    Edit: Wolfje's updated his donate button :D
     
    • Like Like x 1
  6. Loganizer

    Plugin Developer

    Joined:
    Dec 2, 2012
    Messages:
    212
    Thanks. I just donated. $5.
    Thanks Wolfje for the great plugin!
     
    • Like Like x 2
  7. Wolfje

    TShock Admin TShock Mod Zero Day Plugin Author

    Joined:
    Jul 2, 2013
    Messages:
    191

    Was a complete copypasta, my bad.
     
  8. Wolfje

    TShock Admin TShock Mod Zero Day Plugin Author

    Joined:
    Jul 2, 2013
    Messages:
    191

    You're awesome man, can't thank you enough.

    Cheers
     
    • Like Like x 1
  9. popstarfreas

    Plugin Developer

    Joined:
    Feb 27, 2012
    Messages:
    357
    Wow this looks like such an amazing update. I'll start using it if I can and I'll donate when it becomes part of my main servers trading system. Just a question; how often is the MySQL table updated?
    Thanks.
     
  10. Wolfje

    TShock Admin TShock Mod Zero Day Plugin Author

    Joined:
    Jul 2, 2013
    Messages:
    191
    On high traffic servers, around 50,000 rows/hour, upto a million rows a day.
     
  11. specialops0

    Plugin Developer

    Joined:
    Jul 29, 2013
    Messages:
    415
    Welcome back ^_^.
     
  12. DankBud

    DankBud Level 8

    Joined:
    Jul 23, 2011
    Messages:
    228
    Damn can't update since I run a windows server 2003 box.
     
  13. Terrabear

    Terrabear Level 6

    Joined:
    Jun 26, 2014
    Messages:
    138
    Yeah you're back, baby?! Welcome back, sir :)
     
  14. Wolfje

    TShock Admin TShock Mod Zero Day Plugin Author

    Joined:
    Jul 2, 2013
    Messages:
    191
    Preview 11 has been released
    • Fixed a bug in aliascmd cooldowns causing the command to be run even under cooldown
     
    • Like Like x 1
  15. Terrabear

    Terrabear Level 6

    Joined:
    Jun 26, 2014
    Messages:
    138
    WoW, awesome.
     
  16. DrZoddiak

    DrZoddiak Level 1

    Joined:
    Oct 1, 2012
    Messages:
    19
    Do you have a tutorial somewhere showing how to set up the MySql Journal?
    I looked through this post and your forums. (Skimmed is probably a better word)
    Or is it just a simple process that I'm missing?
     
  17. DankBud

    DankBud Level 8

    Joined:
    Jul 23, 2011
    Messages:
    228
    https://www.apachefriends.org
     
  18. pink_panther

    pink_panther Level 9

    Joined:
    Oct 14, 2013
    Messages:
    370

    All you need to do is install MySQL and then edit the text file for Seconomy to say use "mysql" and enter a username and password
     
  19. Ijwu

    Ijwu Level 11

    Joined:
    Apr 4, 2012
    Messages:
    647
    Approved
     
    • Like Like x 2
  20. Wolfje

    TShock Admin TShock Mod Zero Day Plugin Author

    Joined:
    Jul 2, 2013
    Messages:
    191
    Preview 12 has been released

    Sorry for the delay in updates, I'm arguing with myself whether I want to maintain this project any more.

    Changes
    • Fixed an issue where XML journals are not backing up
    • Jist: new JS function: tshock_player_in_region(player, region): Determines if a player specified by `player` is in the region named `region`
    • MySQL: SEconomy now prompts to create a schema on the target server if there isn't one
    • Events: SEconomyPlugin.SEconomyLoaded and SEconomyPlugin.SEconomyUnloaded: Raises when SEconomy is loaded and unloaded respectively
    • Other fixes in which I completely forget
     
    • Like Like x 3