I have just made some internal updates to ShopDB. These changes improved the efficiency of ShopDB internally and included no change to functionality. If anybody experiences any issues, please let me know!
In as much detail as possible, please describe the bug: Mob spawners have different Id's assigned to them with spawner# then some number or a letter. For example spawner#K (capital K) (Zombie spawner) and spawner#k (lowercase k) (mushroom cow spawner) On shopdb all letters are lowercase, therefore they are seen as the same spawner. How many times have you encountered this: Multiple times if you want to check ingame /warp colebex and /warp everything have both spawners for sale where I encoutered this.
Thank you for reporting this for me, Dutchess. This happened to me super late last night and I was too tired to report it, but yeah, spawner#k (lowercase) is a Mooshroom spawner and spawner#K (uppercase) is a zombie spawner, but they both appear as the same according to ShopDB. For context: /warp everything has a mooshroom spawner (spawner#k) /warp colebex has (or had b/c I bought it) a zombie spawner (spawner#K) They both appear under spawner#k according to ShopDB
Thanks for the reports! I wasn't previously aware that ChestShop item names were case-sensitive. When originally designing ShopDB, I noticed many variations of the same item - such as "Diamond Ore" vs "Diamond ore" vs "diamond ore". To keep things consistent, I made the design decision to lowercase all item names. So unfortunately I must refer to one of my favorite lines, Just kidding.. kind of . Jokes aside, that is quite misleading. To fix this though, I will need to think of another way to approach both problems (item name consistency whilst avoiding case sensitivity issues such as the one you have mentioned).
@Kozz You could try to make it case sensitive after the #. As far as I know after the # it is actually case sensitive. Hopefully this wil help
I love shopdb and it is one of the reasons I play eco city craft. Without shop db my experience here would be lessened. With that in mind, I have a few suggestions. First, please add a new way for information to be presented in a more concise format. That format I will call a 'level 2' order book and is a table that looks like; 2 columns with 3 subcolumns each: shopname.1 | chest quantity.1 | S price.1 | B price.2 | chest quantity.2 | shopname.2 Each column would be sorted by S price ascending and B price descending. This will allow users to very quickly get a scan of what the market is like. It will also save a lot of web traffic. I spend hours entering the info into a spreadsheet to make it look like this for my own research. I am considering making a web crawler to do it for me. At that point I think it would be better if the information could be presented like this as an option quick example (imagine this as a nicely done html table) copper_ingot line 1: emporium / 640 / 0.79 /// 1.125 | 1221 | farmville line 2: anza / 1728 / 0.75 /// 1.25 | 728 | emporium line 3: colebex / 0 / 0.73 /// 1.50 | 0 | everything so the chest quantity is how many items are in the chest. So you could see emporium has 640 ingots but colebex and everything have an empty chest. I believe presenting information in this way is truly useful (note; the information could be limited to the top 10 or 20 shops in each row).
Please allow a sort of report system for players to click a button to suggest a chest shop be reviewed. This is a one way system meaning 'thanks for the report!' and no further user interaction. The only point of this is that the admin could then wait until a shop becomes an obvious problem (you could limit reports to 1 per ip) and then act on the most troublesome chest shops. Then the report number on that chest shop could be zeroed. You could have a little box on the admin page "top 3 reported chest shops" with links to an admin page to quickly examine and deal with the issue. Right now station3 shows many ghost shops and has been like that for days (weeks?) and I am sure if this system was implemented it would be better.
Is there a way that a user can have a chest shop and/or chest shop owner ignored, possibly via cookies? Then an option to show "hidden and unhidden shops"? Thanks. This would make shopdb much cooler in my personal opinion
Hey, thanks for the suggestions! These are very good ideas. So, ShopDB does has a public API but there is no documentation on it at the moment. It is the same API that powers the ShopDB website. Here is an example of the API call that occurs when you first open the site (default parameters): https://api.shopdb.ecocitycraft.com...ice&page=1&hideUnavailable=true&distinct=true This returns data in JSON format. It is paginated and returns 6 shops at a time (same as the site). It returns the total page count (which is currently 498), so you could programmatically iterate over all pages (e.g, '&page=2', '&page=3', etc) and collect all the data. Using the public API will be much easier and more efficient than building a web crawler. I have no concern with users collecting data this way for their own use, however, please check with staff before collecting or publishing any such list or data to ensure it is okay to do so. I like your suggestions about building a condensed, tabular view to make it easier for players to extract data from ShopDB for their own use. However, I will need to check with staff to ensure they have no concerns before I can add that functionality.
Posting link to suggestion by @Moosagi for ChestShop. https://ecocitycraft.com/forum/threads/all-main-servers-suggestion-chest-shop-orderbook.220239/
Just realized that it's now been over three years since ShopDB has gone live! Very glad to see that is it still improving the experience for many players. After reading through some suggestions, I figured it is time to update the look and feel of ShopDB. Although it has come a very far way from how it originally looked, I feel there is still some room for improvements around the layout and the utilization of space. I've been working towards modernizing the design a bit, and here is what I've come up with thus far. This is a work in progress and will change (such as including more than 6 more search results per page). I was going to leave this as a surprise but figured it would be better to show players ahead of time so that I can gather any feedback and further suggestions regarding the UI layout. If you have any suggestions regarding the layout or functionality, please let me know! These changes will take a while, I would say in between a week and a month, so hang tight while I work things out! After checking with staff, I am working towards adding a condensed table view (see the new "Condense" option in the image above) . It will be an HTML table, with somewhere between 50 to 100 results per page. An equivalent API will also be exposed. This view will be catered to those who are looking to extract data from ShopDB or analyze the market as a whole. I'm afraid I would like to steer clear of having shops reportable on ShopDB. ShopDB is meant to be a presentation layer, nothing more. One of the best things about ShopDB (for me, at least) is that it maintains itself and thus is always reliable, even if I'm not actively supporting it. If you feel a shop is misleading, I would suggest you report it to staff in-game so that it can be removed from the game entirely, and not just from ShopDB. If it is allowed in-game, then it will be allowed on ShopDB. If there is enough support for this then I can work on it, but honestly, I question how many people would utilize such a feature. I am trying to keep ShopDB options as straightforward as possible, and this would be quite an advanced one. Unfortunately, I think the effort would not be worth the reward unless this is something that enough (>25% ideally) of players would use. I have also read your Orderbook suggestion. This would be a change required on ChestShop-3 and you would need to open an issue on GitHub to request that feature. I appreciate your feedback and suggestions and hope that the UI improvements and condensed table view will further improve the UX of ShopDB!
There were some stale shops on ShopDB, so I had to clear the chest shop data on ShopDB for stations 1 to 11. No worries, the shops & data for these stations will be added back automatically once a chest shop is used or restocked. Apologies for the inconvenience!
ShopDB Updates Have Arrived! Chest Shops - ShopDB (ecocitycraft.com) After some work and testing, I'm proud to announce recent developments to the ShopDB UI are now being released. The entire site has been redesigned to have a more modern look and feel, and several quality-of-life features have been added. Site Redesign The UI has been updated to look more modern and to make better use of space. Previously, chest shop cards included a lot of redundant information - the price, quantity, and region were all shown twice. This has been condensed to show necessary shop information in a simplified format. This allows the cards to be stacked next to each other and reduces the amount of scrolling / searching necessary to find what you are looking for. This simplification has been carried over into the regions/players sections of the site as well. Improved Linking Previously, parameters such as the item being searched for, or the filter criteria specified were not stored in URL parameters. Now, they are. So... What does that mean?? Using back/forwards in the browser will now work as you may otherwise expect. For example, if you are on page 2 and hit the back button on your browser, it will bring you to page 1. Similarly, if you had previously searched for another item you can now use browser navigation (or browser history) to go back to your recent search. Links can now be shared that contain specific information. For example, here are nether stars for sale on main, sorted by best price: Nether Star - Chest Shops - ShopDB (ecocitycraft.com) All parameters, such as server, trade type, page number, and other options, are stored in URL parameters and can now be directly linked, viewed in search history, and navigated to/from using your browser's forward/back buttons. Improved Search Suggestions Previously, typing into the dropdown/search menu when searching for an item would not show the most relevant result. For example, typing "diam" would show "deepsldiamondore" and "diamohorsearmor" before "diamond". This algorithm has been significantly improved, and during my testing, I found it to be much more accurate in its ranking. Additionally, selecting the dropdown would previously show *all* items in the dropdown. I found this to cause lag on some devices, so selecting the dropdown will show a maximum of 50 results. This will help to improve the performance and reduce lag when searching for items in the dropdown menu. Condense Option Under options, you will now find a new checkbox for 'Condense'. This shows a simplified table view and increases the number of chest shops you can view per page to 50. This was added mainly for people who are trying to look at the market as a whole or to copy the data over to a spreadsheet for their own use. Default Sorting Changes The default options selected when searching for players and regions have been changed. Previously, they were sorted alphabetically by default. Many players may not have even noticed that there were other options to sort by. Both the player and region list will now be sorted by chest shop count by default, as I feel it will show the most relevant results by default. --- These changes are intended to not only improve the look and feel of ShopDB, but also to increase its ease of use and improve upon its primary purpose: to help you find things to buy or sell as easily as possible! I hope you all like these changes, and as always, I am open to feedback and suggestions!
Once again @Kozz I want to thank you for all the hard work you put into shopdb, single handedly the best and most useful feature on ecc!
Hey @Kozz Just want to start off by saying I absolutely love what you have built! ShopDB is an incredibly useful tool that makes ECC way better! In as much detail as possible, please describe the bug: I believe there is an issue with how the `full` field is set on the API when `hideUnavailable=true`. There is also a discrepancy between which shops have their `full` field set depending on the sort param. This causes some shops which are known by ShopDB to be full or at capacity to register as available. EDIT: After doing some more digging, I think it is actually the `quantityAvailable` field that is the culprit. The `full` field is seems to be set correctly based on what the `quantityAvailable` field is returning, but the `quantityAvailable` field is returning inconsistent results based on the `hideUnavailable` or `sort` params. How many times have you encountered this: Many times Can this bug be intentionally recreated? If so, please describe the steps to make this bug occur: With hideUnavailable=false, 4 results are listed one of which is listed as out of stock, however with hideUnavailable=true, the same 4 results are listed, but this time with all shops showing as in stock. I don't want to spill too many secrets, but I was able to confirm that the value of the `full` (EDIT: and `quantityAvailable`) field on the result returned by the API was different depending on this parameter.
Hi Cike! Thanks for the report and going out of your way to provide a very specific example. I believe what is happening is that although it appears that the same shop is going from a "full" to "available" status, it is actually a new shop that is being shown to you. This can be verified by checking the coordinates. In your GIF, the two shops shown as full are at these coordinates: -9800, 75, 9358 -9832, 74, 9359 However, when you untick the option, these shops are replaced by identical shops residing at different coordinates. The trick here is the Hide Duplicates option, which performs some logic behind the scenes to show you the most relevant shops. If you untick that option, you'll see that there are identical nearby shops with different coordinates: Let me know if that makes sense or if I may be misunderstanding a part of your report.
Oh you're right!!! Great catch! I didn't notice that the coords were different and got bamboozled by them collapsing into a similar looking entry. Thanks you for taking the time to troubleshoot this false bug! Huge supporter of ShopDB, so let me know if there is anything you are looking for help with!
The /shopdb list command is not working for my town (Exchange) Coow_coow and I have tried it numerous times but every time i run /shopdb list Exchange, the server responds with : That region does not exist The bug can be recreated by being an owner and running the command Other info: https://ecocitycraft.com/forum/threads/shopdb-listing-bug.221832/#post-1150417
Hey, thank you for the report! I'm looking into this now - it appears this is occurring because the region was just created today. This should resolve itself after some time once the server restarts. Obviously, having to wait until the server restarts to add a new region to ShopDB is not ideal. I am looking into a way now to prevent this from occurring in the future, so newly added regions can be immediately added to ShopDB as well. Thanks for bringing this to my attention! I am working on a fix.