Look into per-user token-based authentication, not a single password for everyone hardcoded into the mod.
What would prevent a player from modifying the client code? One could easily unpackage the jar, modify the code, and accomplish the same thing. At the end of the day, user authentication is the only way. I could accomplish this in a myriad of ways, including as you suggested with generated tokens. This was a hotfix that needed to be implemented immediately, so I did implement a hard-coded token for the time-being.
Working on awesome new features: Shop Tables - now support pagination & search: Spoiler Shop Analytics - see how a shops prices compare with the median prices! Spoiler (@Bsqt, @Endy_Enderwoman good job!) How shop analytics are determined: Prices between 0% and 80% of median price --> GOOD Prices between 80% and 120% of median price --> FAIR Prices 120% and above median price --> EXPENSIVE P.S: @TomKFC You may want to raise your prices. Half of them are actually considered 'fair' Spoiler
2/24/2020 8:20 PM (CST): Updating to v1.0.4 Expect downtime up-to thirty minutes. Awesome features coming!
2/24/2020 8:22 PM (CST): Updated to v1.0.4 New features (view post above for screenshots): Pagination and ability to search on item tables Pagination and ability to search on shop tables Shop analytics! On the shops tab, click 'Get shop analytics' for the shop you want. This will show total items traded, total items bold, and total items bought. Click on 'items sold' or 'items bought' to get an item-by-item breakdown of a shop! Analysis of total items considered to be cheap Analysis of total items considered to be fair Analysis of total items considered to be expensive A breakdown of each individual item and how it compares to the median price! This update took quite a bit of work, and it's pretty awesome! EDIT: Just noticed the logic for analyzing items sold is the same as that for analyzing items being purchased. It should be the opposite, e.g, if the median buying price is $20 but you're buying for $30, it should be analyzed as good. I will fix this tomorrow.
Fixed, deploying these changes. Categories are now 'priced good', 'priced fair', 'priced poorly' to make things more clear. For analysis on items a shop is purchasing, the logic is now correct. Edit: Changes are deployed!
Is there a way to have a chest excluded from the database? Like if a chest is set up for a payment plan with another user not have that counted as a chest shop chest?
Hmm... Since the format of trade signs are strictly enforced, there's no reliable way to detect a payment sign. I could add a rule to ignore dirt blocks that cost above $100 each, perhaps.
That's a pretty expensive piece of paper. Is it a college degree? Jokes aside, I can add the rule I said above. You would have to modify your trade to be for a dirt block. Alternatively, you could place the trade sign outside of your shop boundaries.
Ok. I will change it to that. I'll set up any future ones outside the shop boundaries if possible though to help with this. Thanks for the fast replies!
Any chance that you can prevent duplicate signs showing up in the listing OR somehow making them look more cohesive. For example, Tom has 4 dirt chests in station 4 and they all show up bloating the list a bit. I also am currently setting up a shop that will have multiple signs for one type of item and was wondering if this could somehow be more concise per shop area perhaps?
A decent way to implement this is to combine all identical signs from the same person to fuse into a single entry on the website. That single entry could display to total number of things they are buying/selling (so if tom is buying dirt from 3 chests all for the same price, then it appears as a single entry with the number: 10368 as the quantity). And then if the user clicks on the more information, they would get the coords for each chest
Duplicate signs are prevented. Duplicates are determined by: The person selling the item The quantity being sold The price per item being purchased/sold TomKFC shops up three times in ShopDB because: Quantity of one sign is 3456 Quantity of another sign is 64 One sign is buying and selling 3456 dirt, and the other sign is exclusively buying 3456 dirt. I feel a quantity difference is not a duplicate. E.G, if I'm looking to buy dirt - it is relevant if I'm looking to buy a stack or an inventory full. If I were to (falsely) only display TomKFC as selling an inventory full, people may look elsewhere because they only need a stack. I will work on resolving this. This is not intended and should not be shown twice as it is the same exact item, quantity, and price.