Jump to content
Tarvos has closed. -- Thank you for the fun memories. ×

James

Tarvos Retired Management Retired Management
  • Posts

    18
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by James

  1. Hello!

    This post outlines the changes we've made to the backend of Tarvos server and its related services. It mainly relates to the methods of storing and retrieving data such as player information, server settings and more. Be warned, it's a bit technical.

    In the beginning of Tarvos' development, the team decided to go with storing data with something called Structured Query Language, commonly known as SQL. Essentially, this type of database is structured, which means we define the table and column names, and insert data into said tables and columns specifically. This type of data storage is generally fine, but eventually we felt like it became a bit outdated and hard to add new content on the fly.

    We started off by communicating with the database directly from our Core plugin that runs on each server. This ended up being a temporary solution due to both speed/processing and security concerns. Due to this, the legendary @Tom created a new solution for Tarvos, a custom web-based API that would process a query and return or take action on data using the common GET, POST, PUT and DELETE methods. This solution would give the Tarvos Realm data structured in a JSONObject, which is incredibly easy and simple to retrieve and store data. Due to this, it ended up being a lot more efficient for both server-load and speed, in addition to added security.

    Eventually, even though the API returned JSON data to the Tarvos Realms, storing data became more difficult for the things we wanted to do, mainly revolving around our upcoming Universe gamemodes. This is because SQL is limited by nature, and we wanted to add custom data that wasn't necessarily pre-defined in the database. In addition to this, we had multiple tables for player-related data, for example in order to load a player the API would retrieve a row of data from the following tables:
    - players
    - preferences
    - arcade_stats
    - punishments

    Having to do this ended up being messy and didn't really make sense, but there's simply no other way to do it in SQL. Thus, we decided to migrate to a different solution, called MongoDB. This solution is vastly different as it is unstructured, whereas SQL is structured. Instead of tables and columns, data is stored in JSONObjects. This means the API is getting a JSONObject and directly sending it to the Tarvos Realm, instead of converting it into one. This also means we can store all of the data from the multiple tables mentioned previously into one. This is way more efficient for updating and retrieving player information. 

    We started experimenting with MongoDB early in the Universe development, but we have now recently migrated completely from SQL to MongoDB. You will not notice any changes on the surface, but under the hood the Tarvos backend has been reformed completely. 

    As a result of this major update, we are clearing all player data. This includes your rank and balance. We are going to figure out the best way to restore all relevant ranks to players via Discord or in-game. Balances and other stuff like arcade stats will be reset, as there's not really a reason to keep them. 

    Additionally, with this update, we will soon be giving all players the option to use two-factor authentication on Tarvos. This is optional, except for Staff Members.

    If you have any questions, please don't hesitate to ask!

    Cheers,
    James

     

     

    • Like 1
    • Champ 2
  2. 21 hours ago, Melt said:

    My thoughts:

     

    I think that we need a moneysink. Adding a small fee to open up shop, or offer an item could be a great way of doing so. Let's say that a diamond sword will cost about 100 points, maybe 7 of those points go towards Tarvos' bank. We could also get people to trade more, if selling items gives them a chance to join a small lottery. For every #amount# you sell, you get one ticket into the raffle. Having a chance to win some gems, simply by being part of the economy.

     

    I love the idea of auction houses. I would like to have a buyout option, as I know a lot of MC players aren't as patient as the fans following Tarvos right now. Let's say someone wants to sell their diamond sword for 1k and sets the buyout price at 1250, then another player can just decide, 'sure, I will buy it now', and make both players happy.


     

    I am really interested in seeing how this will become intuitive enough for people to do. There is not a lot of well-known plugins that promote p2p trading. I think you would need a VERY clean and intuitive GUI for this.

    Implement a timer as well, to prevent scamming via quick-trade. Example: after you click accept, it starts a five second timer, giving you five seconds to back out of the deal anyway. Or do it the RuneScape method, have two screens, one for the trade, and one for the confirm. Or both options.

    Thank you for your reply.

    I like the moneysink idea with the lottery, this will definitely cause a boost in selling and purchasing items. The buyout option is also a good idea for the AH. Similar to IRL auctioning.

    In terms of player -> player trading, I have some ideas for it. Having a countdown after the trade is confirmed is a must, to both prevent scamming and to allow for last-second decisions.

    Cheers,
    James

    • Like 2
  3. 47 minutes ago, desmond_bear82 said:

    I really like this idea, of course it comes with ups and downs. I don't have enough information to fully create an opinion on the player shops, but if all proceeds are going to the player, and they are "player shops," I think that you might have to pay to have a player shop. Hypothetically, if that were true then I think you shouldn't have to pay up front for the player shop. But instead, depending on how popular the area where your player shop is, a certain % of the proceeds should go to the proprietor. That way, rich players won't always get prefer getting richer via the economy, and reserve the best areas to sell. If that is not the case however, as I said earlier I don't have enough information to go off of. I simply think that is a good idea. An auction house is a good idea, but I think there should be set values you can price certain items, so that players can't troll by renaming an item to something inappropriate or stupid, and selling it for a ridiculous price so that nobody will buy it. In my opinion, you should make it so that player renamed items cannot be sold in AH, and there is a bottom and top price for specific items in this AH. (AH being Auction House) Direct player to player trading is a no brainer. Its simply necessary.  But a suggestion I have is that when there is multi-world support leading to this in total "Universe", you should be able to still player trade through different servers. That is all I have to say about this system, anything you would like me to elaborate on just dm me on Discord.

    -Des

    Thank you for the suggestions.

    In regards to player shops, there wouldn't necessarily be more than one physical area for the items, rather it just being one stall that contains all items sold by players. We could do a system where there could be a tariff on items, or instead have a set fee to be charged every X amount of time to keep your items in there. 

    The Auction House would most likely have the material/block name specified even if it has been renamed. Or we could move renamed items to a different section, or put a warning on them. 

    We were planning for direct trading to only be possible if you are within a certain block radius of the player. Although, we may make it so you can trade cross-server with a fee from both parties to balance it out. 


    Cheers,
    James

    • Champ 1
  4. bmf014V.png

     

    Hello, everyone.

    We're going to be working on the economy-side of the Universe game-mode soon. We would like your thoughts and suggestions on a few different ideas for purchasing and upgrading items.

    As of now, class abilities are activated by your class' primary weapon. This weapon can be upgraded to different tier levels (i.e. Iron -> Diamond, etc). Enchantments can also be forged onto the weapon, but not applied with an enchanting table. You CAN however purchase new weapons and combine them with your primary weapon. Enchantments on new weapons will be forged onto your primary weapon. In some circumstances, you may lose a level of enchanting depending on the new weapon's tier compared to your primary weapon.

    Upgrades to your class items (armour and weapon) can be done through a Clan Totem upgrade, or through a designated area in the Earth spawn area (more info on this later).

    This is where the shop stalls come in. We believe that the economy should be constantly updating with both pricing and availability of items. Essentially, we're not going to have every type of item available for purchase, and if they are available, there will be a limited stock. Once that stock runs out, another item may become available depending on other factors.

    The purpose of this is to make playing on Tarvos more challenging and to stimulate trading among players. 


    What we are debating is how players can trade items. Here are the ideas we have in mind:
    - A player shop stall where items are categorised by item type, but all proceeds go to the player.
    - An auction house where a target bid can be set.
    - Direct player -> player trading through a command and GUI.

     

    Please let us know your thoughts or any suggestions for how we should approach player-based trading. 

     

    Cheers!
    James

     

    • Like 1
    • Champ 1
  • Online Users   0 Members, 0 Anonymous, 1 Guest (See full list)

    • There are no registered users currently online
×
×
  • Create New...