iDB (short for item database)

Description

  • Windows app + companion web interface
  • Drop, transfer, or pickup items
  • Virtual databases to separate out items
  • Item images (as of September 2019!)
  • Reseller support (as of October 2019!)
  • Auto‚Äźrefresh characters before they expire
  • Automated socketing (not Larzuk, but inserting gem/rune/jewel into bases) / cubing feature
  • Integration with WorldIsMine's AutoShop and Laz's ShopDrop
  • Integration with WooCommerce for order delivery
  • Integration with NeutronPlus & PermIt

Kolbot Integration

Link

ShopDrop Integration

Link

Codes

Codes are like products in a web shop (eg. Fortitude - Archon Plate - Ethereal - Bugged - 30% All Res, 1.5 HP/Lvl, 3552 Defense). They allow you to categorize your items and search for them easily. A Code consists of an ID (0 to 999,999), a description, a type (eg. Archon Plate) and a match/pickit (eg. Quality = Runeword & Name = Fortitude & Eth & Ebugged & AllResistances = 30 & LifePerLevel = 1.5 & Defense = 3552).

How to Write a Match/Pickit

Link

Special

There are 3 types of special codes. These allow you to create packs containing other codes! They can be multiple levels deep as well (A contains 1 B and 2 C's, and C contains 3 D's and 1 E). Special codes have a match format of [id]:[count],[id]:[count],.. (eg. 1:2,5:4,8:1).

Type Description
Special A plain pack
SpecialStrict A pack that fails immediately if only partially available, the app will do its best to make sure this pack is delivered in its entirety
SpecialAny Quantity on each ingredient is ignored, this pack resolves to the first code that is in stock (on the given realm/database)

Images

Features

  • Item level is appended to the title
  • Unidentified uniques and sets will show the correct identified name (if possible):
  • Replenish over time stats (replenish quantity, etc) have the exact details:
  • Per level stats (life per level, etc) have the exact details:
  • Ethereal bugged items will have (Ebugged) appended to their title:
  • Upped items will have (Upped) appended to their title:

Hotkeys

While the image is showing, you can do CTRL+S to save the image to hard-drive.
While the image is showing, you can do CTRL+C to copy the image to clipboard.
While the image is showing, you can do CTRL+U to upload image to Imgur and copy link to clipboard.

Player Considerations

Be wary of items that potentially give +4 or more skills to non-owner classes, like Widowmaker which can spawn with up to +5 to Guided Arrow. In-game and in other kolbot-based droppers you might see that this Widowmaker has only +3 to Guided Arrow:
Due to the way oskills work, classes that own that skill (in this case Amazons) will be restricted to a maximum of +3. iDB will report the true value of +5 so you don't accidentally give away any godly items:
However, when calculating shield block and weapon speed, the item will be assumed to be held by the required class for the item, or if there is none, a sorceress. For level, strength and dexterity, all are assumed to be 1. Let me know if there is interest in having these choices configurable.

Databases

Databases are a virtual separation of items that allow the following configurations:
  • Priority for operations that span multiple databases (order preference, etc)
  • Whether or not web shop order delivery should be able to access
  • Whether or not ShopDrop order delivery should be able to access
  • Whether or not the characters should be auto-refreshed
  • Different limit IDs for using different keys & proxies via rDB
  • Special reseller access via iDB-Web

Processors

Databases are a virtual separation of items that allow the following configurations:

Name Description
Jobs Changes jobs from inactive to active (while obeying queue limits such as LimitPerRealm and also not activating a job for an account that is already active)
API: TCP Turns on a listener for PlainSocket network connections such as iDB-Web, PermIt, NeutronPlus, Kolbot, etc
API: HTTP Turns on a listener for WebSocket network connections such as iDB-Web, PermIt, NeutronPlus, Kolbot, etc
API: Allow New Drops If unchecked, drop requests will be responded with "Drops are temporarily disabled (service will restart soon)." (does not affect ShopDrop requests)
AutoRefresh Toggles the processor that checks for expiring characters and queues jobs to refresh them
Delivery Toggles the processor that communicates with the web shop for order delivery
ShopDrop Toggles the processor that communicates to the ShopDrop app (only controls iDB -> ShopDrop, to control ShopDrop -> iDB communication use the API: TCP processor)

Recovery

Let's say you accidentally delete all your items and you're wondering how to restore them.
  1. Uncheck all processors.
  2. Abort all jobs.
  3. Close iDB.
  4. Open IIS and stop the website pool.
  5. Rename C:\Apps\iDB\db.sqlite to C:\Apps\iDB\db.sqlite.bak because it is a bad database now (or delete it).
  6. Rename latest backup file (like C:\Apps\iDB\db-2020-03-19-14.40.sqlite) to C:\Apps\iDB\db.sqlite.
  7. Open IIS and start website pool.
  8. Start iDB.

Changelog

2020-08-12: v1.0.0.568

  • UPD Updated overhead messages to every 3 seconds

2020-07-28: v1.0.0.567

  • FIX Fixed picker switching to create after joining fails

2020-07-28: v1.0.0.566

  • ADD Added rDB ID override for manual pickup or transfer jobs

2020-07-12: v1.0.0.563

  • ADD Added PauseAndAbortAllOnRealmGoingDown

2020-06-28: v1.0.0.559

  • FIX Automatic detection and fixing of orders stuck in processing state

2020-06-27: v1.0.0.558

  • ADD Added LimitPerGameJspShop for JSP shop droppers

2020-06-15: v1.0.0.557

  • ADD Added rDBIDJspShopOverride for droppers

2020-06-15: v1.0.0.556

  • FIX Fixed broken job queue behavior

2020-06-11: v1.0.0.555

  • ADD Added database to the confirmed drops in JSP shop logs
  • ADD Added failed drops to JSP shop logs

2020-06-11: v1.0.0.552

  • UPD Made overhead pause message persistent

2020-06-09: v1.0.0.552

  • ADD Added overhead message for pause / resume

2020-06-08: v1.0.0.550

  • ADD Added ShopDrop-WaitForPickupMessage and AutoShop-WaitForPickupMessage that is spammed every 5 seconds

2020-06-07: v1.0.0.549

  • FIX Fixed queue performance degradation with large number of jobs

2020-06-06: v1.0.0.548

  • FIX Fixed bug where multi-tier strict special codes were not processing and aborting correctly

2020-06-06: v1.0.0.547

  • ADD Added pause and resume commands for picker

2020-06-05: v1.0.0.545

  • UPD Minor logging improvements

2020-06-03: v1.0.0.544

  • UPD Module terminates if lobby thread crashes

2020-06-03: v1.0.0.543

  • FIX Fixed bug where droppers didn't abort if builder never made it into a game

2020-06-02: v1.0.0.542

  • ADD Added account and character creation to builder
  • UPD Allow replacement builders to bypass queue restrictions
  • FIX Fixed droppers getting stuck waiting for a builder that aborted
  • FIX Added retries to cube transmuting
  • FIX Fixed a scenario where items were staying locked after an order

2020-05-25: v1.0.0.541

  • UPD Added checks to prevent recursive packs from being created

2020-05-25: v1.0.0.540

  • FIX Improved error handling if item fails to parse

2020-05-03: v1.0.0.539

  • FIX Fixed item graphics with spaces

2020-04-10: v1.0.0.537

  • FIX Fixed SystemOffline message for AutoShop

2020-04-10: v1.0.0.536

  • UPD Deleting items is more careful with cache clearing

2020-04-08: v1.0.0.535

  • ADD Added AutoShop support

2020-04-08: v1.0.0.533

  • FIX Fixed db import

2020-04-06: v1.0.0.529

  • FIX Fixed pickits with CrescentMoon name filter

2020-04-02: v1.0.0.527

  • FIX Fixed event handler memory leak and disposing of more SQLiteCommands

2020-04-02: v1.0.0.526

  • FIX Fixed pickits with *MaxDamage stat

2020-03-28: v1.0.0.523

  • FIX Fixed hotkey interference on some windows

2020-03-28: v1.0.0.522

  • FIX Fixed issue when importing ShopDrop data with different name or thumb

2020-03-24: v1.0.0.521

  • ADD Added pack editor for Special codes

2020-03-16: v1.0.0.519

  • ADD Added support for SpecialAny codes

2020-03-12: v1.0.0.518

  • ADD Added builder support for Special type

2020-02-28: v1.0.0.516

  • FIX Orders for hashes obey order-delivery-access flag
  • FIX Fixed db persistence of failed items on orders
  • UPD Synchronized job termination

2020-02-25: v1.0.0.514

  • FIX Logger now only tries to re-use game if game creation was successful

2020-02-25: v1.0.0.513

  • FIX Fixed caching of special codes even after deletion

2020-02-23: v1.0.0.511

  • FIX Fixed another graphic bug

2020-02-21: v1.0.0.510

  • FIX Fixed background backup/vacuum

2020-02-21: v1.0.0.508

  • UPD Backup/vacuuming happens in background now
  • UPD Updated SQLite to 1.0.112.0

2020-02-19: v1.0.0.507

  • FIX Added delay after trading to allow for replacement items to be received

2020-02-12: v1.0.0.506

  • UPD Updated ShopDrop window title

2020-02-09: v1.0.0.505

  • FIX Fixed droppers get stuck in infinite loop when code not found

2020-02-03: v1.0.0.503

  • UPD Builder updates
  • ADD Tcp support for gold, imbue, socket

2020-01-21: v1.0.0.502

  • FIX Fixed ebugged property

2020-01-19: v1.0.0.498

  • FIX Minor builder fixes

2020-01-15: v1.0.0.495

  • ADD Started logging gold/imbue/socket quest

2020-01-14: v1.0.0.493

  • FIX Fixed thumb for ShopDrops with graphic in pickit

2020-01-13: v1.0.0.492

  • ADD Added sync tool for tracked item hashes

2020-01-13: v1.0.0.488

  • ADD Added batching for tracked item hash publishing

2020-01-09: v1.0.0.485

  • ADD Added batch button for ShopDrop
  • FIX Fixed ordering of ShopDrop messages

2020-01-09: v1.0.0.483

  • UPD Removed Clear All Codes button

2020-01-08: v1.0.0.481

  • FIX Fixed failed codes friendly string for unsupported SKUs

2019-12-28: v1.0.0.476

  • UPD Logger should use same game if possible

2019-10-20: v1.0.0.405

  • ADD Droppers will terminate other droppers if game does not exist

2019-09-29: v1.0.0.390

  • ADD Added item images

2017-02-08: v1.0.0.0

  • ADD Initial