Giter Site home page Giter Site logo

ao-data / albiondata-client Goto Github PK

View Code? Open in Web Editor NEW

This project forked from broderickhyman/albiondata-client

100.0 7.0 30.0 10.62 MB

Distributed client for the Albion Online Data project.

Home Page: https://www.albion-online-data.com/

License: MIT License

Makefile 0.08% Go 98.62% Batchfile 0.07% Shell 0.43% NSIS 0.76% Dockerfile 0.03%

albiondata-client's Introduction

Albion Data - Client

Distributed client for the Albion Online Data project.

A quick note on the legality of this application and if it violates the Terms and Conditions for Albion Online. Here is the response from SBI when asked if we are allowed to do monitor network packets relating to Albion Online:

Our position is quite simple. As long as you just look and analyze we are ok with it. The moment you modify or manipulate something or somehow interfere with our services we will react (e.g. perma-ban, take legal action, whatever).

~ MadDave - Technical Lead for Albion Online

Source: https://forum.albiononline.com/index.php/Thread/51604-Is-it-allowed-to-scan-your-internet-trafic-and-pick-up-logs/?postID=512670#post512670

This client monitors local network traffic, identifies UDP packets that contain relevant data for Albion Online, and ships the information off to a central NATS server that anyone can subscribe to.

Contributions

Many thanks to the original developers:

Many thanks also to broderickhyman for picking up development and funding for the the last few years of the project!

As of 2023-01-01, Stanx is the primary maintainer and provides funding of the related projects.

Walkynn has been a long time maintainer of different aspets of the project as well.

Downloads

Downloads can be found here: https://github.com/ao-data/albiondata-client/releases

Stats for the client releases can be viewed here.

Running on Mac

Running from the Finder

  1. Download the latest albiondata-client-amd64-mac.zip file from the Releases page
  2. Unzip that file from the Finder
  3. Enter the albiondata-client folder.
  4. Double click the run.command file. It will ask for your password for permissions reasons.

Running from the Terminal

  1. Download the latest update-darwin-amd64.gz file from the Releases page
  2. Unzip that file from the Finder or with gunzip update-darwin-amd64.gz
  3. The unzipped albiondata-client file is a Golang binary file. You'll need to make this file executable so it can be run directly. You can do this from your Terminal with: chmod +x albiondata-client
  4. Run the client from your Terminal with ./albiondata-client

Related Projects

Contact Us

The best way to get in touch with us is on the Albion Online Fansites Discord server in either the #proj-albiondata or the #developers channel. A permanent invite link can be found here: https://discord.gg/TjWdq24

Developer Setup

Mac/Linux Setup

  • Install go
  • Build the project (Go modules will download automatically)

Windows Setup

Windows Setup Guide

License

This project, and all contributed code, are licensed under the MIT License. A copy of the MIT License may be found in the repository.

albiondata-client's People

Contributors

azaru avatar broderickhyman avatar gradiuscypher avatar jochumdev avatar jtara1 avatar kochd avatar lazycurler avatar nullsoldier avatar offner avatar oxisto avatar phendryx avatar regner avatar sschnaible avatar tt-jspafford avatar ultraporing avatar walkeralencar avatar xeandr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

albiondata-client's Issues

Client crashes

Getting constant client crashes:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x40 pc=0x454bc3b]

goroutine 1180 [running]:
github.com/broderickhyman/albiondata-client/client.(*httpUploaderPow).uploadWithPow(0xc0000b32e0, 0x0, 0x0, 0x0, 0x0, 0xc0000adab0, 0x10, 0xc0000161e0, 0xed, 0xf0, ...)
        /usr/src/app/client/uploader_http_pow.go:81 +0x33b
github.com/broderickhyman/albiondata-client/client.(*httpUploaderPow).sendToIngest(0xc0000b32e0, 0xc0000161e0, 0xed, 0xf0, 0x47729e3, 0x13)
        /usr/src/app/client/uploader_http_pow.go:134 +0x111
github.com/broderickhyman/albiondata-client/client.sendMsgToUploaders(0xc0000161e0, 0xed, 0xf0, 0x47729e3, 0x13, 0xc0001b2a20, 0x1, 0x1)
        /usr/src/app/client/dispatcher.go:116 +0xae
github.com/broderickhyman/albiondata-client/client.sendMsgToPublicUploaders(0x46a51c0, 0xc0006e4aa0, 0x47729e3, 0x13, 0xc0001bf200)
        /usr/src/app/client/dispatcher.go:68 +0x1e9
github.com/broderickhyman/albiondata-client/client.operationAuctionGetOffersResponse.Process(0xc0004380b0, 0x1, 0x1, 0xc0001bf200)
        /usr/src/app/client/operation_auction_get_offers.go:58 +0x392
created by github.com/broderickhyman/albiondata-client/client.(*Router).run
        /usr/src/app/client/router.go:52 +0x2d5

Last messages from the debug log:

DEBU[2023-01-27T10:25:31+05:00] Got response to AuctionGetOffers operation... 
INFO[2023-01-27T10:25:31+05:00] Sending 18 market requests to ingest         
DEBU[2023-01-27T10:25:31+05:00] GETTING POW                                  
DEBU[2023-01-27T10:25:31+05:00] EventDataType: ERROR - map[0:2196826 1:[3 -13 82 112 -24 38 0 -37 8 -89 -27 -53 -63 107 -23 55 66 34 102 102 52 65 90 -75 -85 -63 -4 -68 70 66]] 
DEBU[2023-01-27T10:25:31+05:00] EventDataType: ERROR - map[0:2197741 1:[3 -29 73 107 -24 38 0 -37 8 113 -12 93 -63 112 -109 20 66 -19 -102 -103 65 65 0 -14 -116 -63 -60 88 50 66]] 
DEBU[2023-01-27T10:25:31+05:00] EventDataType: ERROR - map[0:2197714 1:[3 -29 -116 75 -24 38 0 -37 8 66 -35 45 -63 -17 -63 -69 65 -89 -52 -52 56 65 -36 36 -121 -63 34 97 -102 65]] 
DEBU[2023-01-27T10:25:31+05:00] EventDataType: [10]evActiveSpellEffectsUpdate - map[0:2185660 1:[695 969 311 371 514 431] 2:[100 184.92752 243.11807 243.11807 100 243.11807] 3:[100 146.82451 174.19029 174.19029 100 174.19029] 4:[66649249 67154428 67369245 67388382 59898185 67389213] 5:[1 1 3 4 1 4] 7:[75 18 36 73 -110 36 73 -110 36 73 -110 36 1] 8:[17208836] 9:[17] 10:[0 0] 252:10] 
DEBU[2023-01-27T10:25:31+05:00] EventDataType: [20]evCastHits - map[0:2185660 1:2185660 2:431 3:1 4:0 252:20] 
DEBU[2023-01-27T10:25:31+05:00] EventDataType: ERROR - map[0:2194099 1:[3 67 22 113 -24 38 0 -37 8 37 112 -64 -63 -83 105 47 66 26 0 0 26 65 -25 -72 -94 -63 -45 54 67 66]] 
DEBU[2023-01-27T10:25:31+05:00] EventDataType: ERROR - map[0:2197587 1:[3 83 8 101 -24 38 0 -37 8 18 -39 -87 -63 -44 -1 105 63 -56 0 0 4 65 -23 -22 -81 -63 24 -49 -121 63]] 
DEBU[2023-01-27T10:25:31+05:00] EventDataType: [13]evCastStart - map[0:2164282 1:67389171 4:67389971 5:2920 6:-101 7:2164282 8:92 9:13 252:13] 
DEBU[2023-01-27T10:25:31+05:00] EventDataType: ERROR - map[0:2197637 1:[3 -29 -100 114 -24 38 0 -37 8 55 18 60 -62 -109 89 -15 65 -100 0 0 -80 64 -79 33 62 -62 104 81 -20 65]] 
DEBU[2023-01-27T10:25:31+05:00] EventDataType: ERROR - map[0:2197584 1:[3 67 -121 115 -24 38 0 -37 8 63 -42 73 -63 62 21 68 66 -45 0 0 -80 64 -55 103 -116 -63 32 71 78 66]] 
DEBU[2023-01-27T10:25:31+05:00] EventDataType: ERROR - map[0:2192861 1:[3 -45 87 119 -24 38 0 -37 8 -118 -56 -109 -63 -46 82 52 66 -98 -102 -103 21 65 -68 -82 -33 -63 76 -60 9 66]] 
% uname -a
Darwin macbook.local 22.2.0 Darwin Kernel Version 22.2.0: Fri Nov 11 02:03:51 PST 2022; root:xnu-8792.61.2~4/RELEASE_ARM64_T6000 arm64

Add albiondata-client to systemd (autostart in background)

Hey,
may we can add a help, how to autostart albiondata-client on Linux with systemd.

What I made:

  • Create a file albiondata-client.service in /etc/systemd/system/ with sudo nano /etc/systemd/system/albiondata-client.service
  • Filled in the content below.
  • Reloaded the deamon with systemctl daemon-reload
  • Enabled and started the service with systemctl enable albiondata-client.service && systemctl start albiondata-client.service

To check, if it's working use systemctl status albiondata-client.service.


Content of albiondata-client.service

[Unit]
Description=Albion Data Client

[Service]
ExecStart=/PATH/TO/albiondata-client
Nice=19 # Running with low priority

[Install]
WantedBy=multi-user.target

Client does not detect player/location change after recent game update

Recently Albion Online rolled out a new version with multi-region support. Albion Data Client stopped detecting player and location change.

Repro steps:

  1. Run latest ao-data client.
  2. Start Albion Online and log in.
  3. Appear at any location.
  4. (optional) Try changing location in the game

AR:
Player is not detected, there is no message in the console and scanning market prices results with errors in the console.

ER:
Player and location are detected. market prices can be scanned

NO PRICE IN THE CROSSES LOCATION

PRICES IN LOCATION SUCH AS MOUNTAIN CROSS, SWAMP CROSS, STEPE CROSS AND FOREST CROSS DOESN'T EXIST IN THE API. PLEASE UPDATE YOUR CLIENT/API TO SUPPORT IT. THANKS

Wrong data in Charts

From https://www.albion-online-data.com/api/v2/stats/charts/[email protected]?date=2-3-2023&end_date=3-2-2023&locations=Bridgewatch,Lymhurst,FortSterling,Thetford,Martlock&time-scale=24

There seems to be a data parsing problem:

{
    "data": {
      "timestamps": [
        "2023-02-02T00:00:00",
        "2023-02-03T00:00:00",
        "2023-02-04T00:00:00",
        "2023-02-05T00:00:00",
        "2023-02-06T00:00:00",
        "2023-02-07T00:00:00",
        "2023-02-08T00:00:00",
        "2023-02-09T00:00:00",
        "2023-02-10T00:00:00",
        "2023-02-11T00:00:00",
        "2023-02-12T00:00:00",
        "2023-02-13T00:00:00",
        "2023-02-14T00:00:00",
        "2023-02-15T00:00:00",
        "2023-02-16T00:00:00",
        "2023-02-17T00:00:00",
        "2023-02-18T00:00:00",
        "2023-02-19T00:00:00",
        "2023-02-20T00:00:00",
        "2023-02-21T00:00:00",
        "2023-02-22T00:00:00",
        "2023-02-23T00:00:00",
        "2023-02-24T00:00:00",
        "2023-02-25T00:00:00",
        "2023-02-26T00:00:00",
        "2023-02-27T00:00:00",
        "2023-02-28T00:00:00",
        "2023-03-01T00:00:00"
      ],
      "prices_avg": [
        66520,
        66772,
        65558,
        65878,
        63885,
        66144,
        68000,
        68256,
        69797,
        70315,
        70385,
        73359,
        72464,
        71815,
        1541,    //wrong, should be 72402
        1270,    //wrong, should be 70665
        70194,
        70751,
        69441,
        70708,
        70907,
        70579,
        69955,
        70783,
        69376,
        68831,
        68582,
        68685
      ],
      "item_count": [
        50,
        494,
        492,
        479,
        590,
        536,
        327,
        318,
        375,
        456,
        500,
        411,
        481,
        493,
        17358,    //wrong, should be 403
        28490,    //wrong, should be 481
        576,
        562,
        319,
        523,
        371,
        457,
        631,
        493,
        460,
        451,
        353,
        351
      ]
    },
    "location": "Fort Sterling",
    "item_id": "T4_CAPEITEM_FW_THETFORD@2",
    "quality": 3
  },

Item Enchantment Filter

It would be really useful to add a filter for Item Enchantments, I am not sure but it may be in the "UniqueName" value of the item object

Remove public uploader url, change to "public servers?" boolean

Since the public POW url is being overwritten when checking the game server packet ips, there's no need for a default url. This could simply be a "participate in public data project (true/false)" and still support private servers (currently the -p flag).

Error in Pow Get request: Get "http://www.albion-online-data.com:4223/pow"

Hello, sorry for newbie question, but it isn't working for me.

  1. When I've installed it 1st time I've had the same problem as here https://github.com/regner/albiondata-client/issues/96
    Solved this, by deleting Winpcap and installing https://npcap.com
  2. Every time I'm opening Market I've got this:

`INFO[2023-02-12T00:15:02+07:00] Sending 50 market offers to ingest
ERRO[2023-02-12T00:15:02+07:00] Error in Pow Get request: Get "http://www.albion-online-data.com:4223/pow": read tcp 192.168.0.163:49296->138.197.64.234:4223: wsarecv: An existing connection was forcibly closed by the remote host.
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x40 pc=0x13de1aa]

goroutine 16 [running]:
github.com/broderickhyman/albiondata-client/client.(*httpUploaderPow).uploadWithPow(0xc0001880d8, 0x0, 0x0, 0x0, 0x0, 0xc0002695c0, 0x10, 0xc0005ce000, 0x2ad2, 0x3000, ...)
/home/runner/work/albiondata-client/albiondata-client/client/uploader_http_pow.go:81 +0x34a
github.com/broderickhyman/albiondata-client/client.(*httpUploaderPow).sendToIngest(0xc0001880d8, 0xc0005ce000, 0x2ad2, 0x3000, 0x1546df3, 0x13)
/home/runner/work/albiondata-client/albiondata-client/client/uploader_http_pow.go:134 +0x11c
github.com/broderickhyman/albiondata-client/client.sendMsgToUploaders(0xc0005ce000, 0x2ad2, 0x3000, 0x1546df3, 0x13, 0xc000184340, 0x1, 0x1)
/home/runner/work/albiondata-client/albiondata-client/client/dispatcher.go:116 +0xb5
github.com/broderickhyman/albiondata-client/client.sendMsgToPublicUploaders(0x149e260, 0xc000004bd0, 0x1546df3, 0x13, 0xc0001e2000)
/home/runner/work/albiondata-client/albiondata-client/client/dispatcher.go:68 +0x1ea
github.com/broderickhyman/albiondata-client/client.operationAuctionGetOffersResponse.Process(0xc000225880, 0x32, 0x32, 0xc0001e2000)
/home/runner/work/albiondata-client/albiondata-client/client/operation_auction_get_offers.go:58 +0x3c5
created by github.com/broderickhyman/albiondata-client/client.(*Router).run
/home/runner/work/albiondata-client/albiondata-client/client/router.go:52 +0x2ad`

What can I do to solve this?

Data Incorrectly Displayed

I'm developing a tool to check the prices of fish and noticed that some of the saltwater fish is being inconsistently labeled incorrectly. It's a relatively minor issue though that can be handled on my end. But it's an issue regardless so I figured I'd post here.

I haven't done a complete investigation this is only what I've noticed:

image

In this example, pay attention to how T5_FISH_SALTWATER_ALL_COMMON is inconsistently labelled as T5_FISH_SALT**Water**_ALL_COMMON for some cities.

How this work?

I'm sorry if I'm asking obvious questions. But it's hard for me to understand why I observe different behavior where it shouldn't be (or I don't understand it). All results will be based on this request to the Swagger API:

https://west.albion-online-data.com/api/v2/stats/Charts/QUESTITEM_EXP_TOKEN_D4_T6_EXP_HRD_HERETIC_FISHYBUSINESS.json?date=2023-12-13&qualities=1&time-scale=24

The date will change, which I will not forget to specify.

  1. I use the value 2023-12-13 as the date and get the following result:
[
  {
    "data": {
      "timestamps": [
        "2023-12-12T00:00:00",
        "2023-12-13T00:00:00"
      ],
      "prices_avg": [
        14422,
        14431
      ],
      "item_count": [
        2,
        3
      ]
    },
    "location": "Thetford",
    "item_id": "QUESTITEM_EXP_TOKEN_D4_T6_EXP_HRD_HERETIC_FISHYBUSINESS",
    "quality": 1
  }
]

Why do I see data for 2023-12-12T00:00:00?
2. I use 2023-12-12:

[
  {
    "data": {
      "timestamps": [
        "2023-12-11T00:00:00",
        "2023-12-12T00:00:00",
        "2023-12-13T00:00:00"
      ],
      "prices_avg": [
        14339,
        15438,
        14431
      ],
      "item_count": [
        2,
        8,
        3
      ]
    },
    "location": "Thetford",
    "item_id": "QUESTITEM_EXP_TOKEN_D4_T6_EXP_HRD_HERETIC_FISHYBUSINESS",
    "quality": 1
  }
]

Why is the value for 2023-12-12 different in both cases? 14422 vs 15438? When I write 2023-12-12, do I get data for the whole day or some data selected in the middle of the day?

  1. I use 2023-12-11:
[
  {
    "data": {
      "timestamps": [
        "2023-12-11T00:00:00",
        "2023-12-12T00:00:00",
        "2023-12-13T00:00:00"
      ],
      "prices_avg": [
        16317,
        15438,
        14431
      ],
      "item_count": [
        11,
        8,
        3
      ]
    },
    "location": "Thetford",
    "item_id": "QUESTITEM_EXP_TOKEN_D4_T6_EXP_HRD_HERETIC_FISHYBUSINESS",
    "quality": 1
  }
]

Why don't I see information for 2023-12-10 now? (this information exists, I checked). In the first two paragraphs, I received data for a day ago, but in the third paragraph, this is not the case. How does it work?

  1. I make new request:
https://west.albion-online-data.com/api/v2/stats/Charts/T4_METALBAR.json?locations=Caerleon%2CBlack%20Market&date=2023-12-12&qualities=1&time-scale=24

Get result:

[
  {
    "data": {
      "timestamps": [
        "2023-12-11T00:00:00",
        "2023-12-12T00:00:00"
      ],
      "prices_avg": [
        206,
        220
      ],
      "item_count": [
        40346,
        9758
      ]
    },
    "location": "Black Market",
    "item_id": "T4_METALBAR",
    "quality": 1
  },
  {
    "data": {
      "timestamps": [
        "2023-12-11T00:00:00",
        "2023-12-12T00:00:00",
        "2023-12-13T00:00:00",
        "2023-12-14T00:00:00",
        "2023-12-15T00:00:00"
      ],
      "prices_avg": [
        206,
        220,
        178,
        177,
        169
      ],
      "item_count": [
        40346,
        80896,
        105927,
        73705,
        73937
      ]
    },
    "location": "Caerleon",
    "item_id": "T4_METALBAR",
    "quality": 1
  }
]

How can T4_METALBAR have a price on the Black Market?
Why is it identical to Caerleon prices? (and there are quite a lot of such positions).

Perhaps I don't understand something. I will be glad if someone explains to me how it works :)

Coming to EU?

Hello everyone. Can you please tell me if you are planning to add a new API server for the Europe launch?

Progress Indication

I'm apparently too fast in the market. Eventually I rack up enough "Sending 50 market offers to ingest" messages that I start getting errors. Can you include a counter for those "Sending 50 market offers to ingest" messages and have a feedback counter for when we receive "Successfully sent ingest request to http://www.albion-online-data.com:4223"

That way I know all my data has been sent and I can more effectively time my data pulls.

Client dosnt work for me (Mac)

Wenn i launch the "albiondata-client-exectuable" it gives me this messages under info:
PANI[2024-04-13T15:20:41+02:00] utun3: You don't have permission to capture on that device ((cannot open BPF device) /dev/bpf0: Permission denied)
panic: (*logrus.Entry) 0xc0002521c0

my client crashed

my client crashed even with -l and by every other lan thing in the list, which i get from ipconfig, it says medium disconnected.

Is this behavior correct?

I make a request:

https://east.albion-online-data.com/api/v2/stats/prices/T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE

And I get the expected result:

[
	{
		"item_id": "T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE",
		"city": "Caerleon",
		"quality": 1,
		"sell_price_min": 0,
		"sell_price_min_date": "0001-01-01T00:00:00",
		"sell_price_max": 0,
		"sell_price_max_date": "0001-01-01T00:00:00",
		"buy_price_min": 0,
		"buy_price_min_date": "0001-01-01T00:00:00",
		"buy_price_max": 0,
		"buy_price_max_date": "0001-01-01T00:00:00"
	}
]

Expected because the item T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE has a quality of 1 and no more.
However, when I add any item with quality > 1, I get the following:

[
	{
		"item_id": "T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE",
		"city": "Caerleon",
		"quality": 1,
		"sell_price_min": 0,
		"sell_price_min_date": "0001-01-01T00:00:00",
		"sell_price_max": 0,
		"sell_price_max_date": "0001-01-01T00:00:00",
		"buy_price_min": 0,
		"buy_price_min_date": "0001-01-01T00:00:00",
		"buy_price_max": 0,
		"buy_price_max_date": "0001-01-01T00:00:00"
	},
	{
		"item_id": "T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE",
		"city": "Caerleon",
		"quality": 2,
		"sell_price_min": 0,
		"sell_price_min_date": "0001-01-01T00:00:00",
		"sell_price_max": 0,
		"sell_price_max_date": "0001-01-01T00:00:00",
		"buy_price_min": 0,
		"buy_price_min_date": "0001-01-01T00:00:00",
		"buy_price_max": 0,
		"buy_price_max_date": "0001-01-01T00:00:00"
	},
	{
		"item_id": "T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE",
		"city": "Caerleon",
		"quality": 3,
		"sell_price_min": 0,
		"sell_price_min_date": "0001-01-01T00:00:00",
		"sell_price_max": 0,
		"sell_price_max_date": "0001-01-01T00:00:00",
		"buy_price_min": 0,
		"buy_price_min_date": "0001-01-01T00:00:00",
		"buy_price_max": 0,
		"buy_price_max_date": "0001-01-01T00:00:00"
	},
	{
		"item_id": "T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE",
		"city": "Caerleon",
		"quality": 4,
		"sell_price_min": 0,
		"sell_price_min_date": "0001-01-01T00:00:00",
		"sell_price_max": 0,
		"sell_price_max_date": "0001-01-01T00:00:00",
		"buy_price_min": 0,
		"buy_price_min_date": "0001-01-01T00:00:00",
		"buy_price_max": 0,
		"buy_price_max_date": "0001-01-01T00:00:00"
	},
	{
		"item_id": "T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE",
		"city": "Caerleon",
		"quality": 5,
		"sell_price_min": 0,
		"sell_price_min_date": "0001-01-01T00:00:00",
		"sell_price_max": 0,
		"sell_price_max_date": "0001-01-01T00:00:00",
		"buy_price_min": 0,
		"buy_price_min_date": "0001-01-01T00:00:00",
		"buy_price_max": 0,
		"buy_price_max_date": "0001-01-01T00:00:00"
	},
	{
		"item_id": "T4_BAG",
		"city": "Caerleon",
		"quality": 1,
		"sell_price_min": 3188,
		"sell_price_min_date": "2023-11-07T17:40:00",
		"sell_price_max": 3189,
		"sell_price_max_date": "2023-11-07T17:40:00",
		"buy_price_min": 1,
		"buy_price_min_date": "2023-11-07T18:15:00",
		"buy_price_max": 2566,
		"buy_price_max_date": "2023-11-07T18:15:00"
	},
	{
		"item_id": "T4_BAG",
		"city": "Caerleon",
		"quality": 2,
		"sell_price_min": 3398,
		"sell_price_min_date": "2023-11-07T18:15:00",
		"sell_price_max": 3491,
		"sell_price_max_date": "2023-11-07T18:15:00",
		"buy_price_min": 1,
		"buy_price_min_date": "2023-11-07T18:15:00",
		"buy_price_max": 2570,
		"buy_price_max_date": "2023-11-07T18:15:00"
	},
	{
		"item_id": "T4_BAG",
		"city": "Caerleon",
		"quality": 3,
		"sell_price_min": 3200,
		"sell_price_min_date": "2023-11-07T18:15:00",
		"sell_price_max": 3493,
		"sell_price_max_date": "2023-11-07T18:15:00",
		"buy_price_min": 1,
		"buy_price_min_date": "2023-11-07T18:15:00",
		"buy_price_max": 2568,
		"buy_price_max_date": "2023-11-07T18:15:00"
	},
	{
		"item_id": "T4_BAG",
		"city": "Caerleon",
		"quality": 4,
		"sell_price_min": 3189,
		"sell_price_min_date": "2023-11-07T18:15:00",
		"sell_price_max": 4467,
		"sell_price_max_date": "2023-11-07T18:15:00",
		"buy_price_min": 51,
		"buy_price_min_date": "2023-11-07T18:15:00",
		"buy_price_max": 2767,
		"buy_price_max_date": "2023-11-07T18:15:00"
	},
	{
		"item_id": "T4_BAG",
		"city": "Caerleon",
		"quality": 5,
		"sell_price_min": 0,
		"sell_price_min_date": "0001-01-01T00:00:00",
		"sell_price_max": 0,
		"sell_price_max_date": "0001-01-01T00:00:00",
		"buy_price_min": 0,
		"buy_price_min_date": "0001-01-01T00:00:00",
		"buy_price_max": 0,
		"buy_price_max_date": "0001-01-01T00:00:00"
	}
]

Here, T4_BAG is displayed correctly. And T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE displays data that should not exist. Is this behavior intended or is it a bug?

Location isn't updated on entering the game

Location isn't updated on entering the game. Example of a problem: I logout from one character in Bridgewatch market then login with another one which is already in Martlock market. If I open the marketplace and check some items the Bridgewatch prices in database will change cause player location isn't updated.

Date/Time Data has a 'T' in It

Date/Time Data has a 'T' in It

I'm not sure if this is something that can be fixed like if its from Albion end but it just makes the data annoying to work with in code.

ValueError: time data '2023-08-24T12:10:00' does not match format '%y/%m/%d %H:%M:%S'

Launch on Windows startup

Hi
I have version 0.1.32 on windows 11. It launches on startup but nothing happens in the console window when I play the game. In order for it to work, I have to close the console that launches on start-up and manually restart Albion Data Client and then everything works in the console but I can't hide it any more. Do you have a solution for me?
Regards

[Enhancement] Option to disable autostart

After installing, the client automatically starts with Windows, but I don't always need it. It would be nice to be able to disable autostart and simply start it myself whenever I need it.

Also, I wasn't able to find the autostart in my Windows configuration, so I haven't been able to disable this manually either.

Albion headless 24/7 price polling bot

Need an independent Client that doesn't require to monitor existing gaming traffic. Basically the Client takes in login credential and Logins into the game by itself then the bot polls for all market prices of all item 24/7. By doing so, you can have multiple bot at all locations polling for actual real time prices while consuming little computer resources.

Current Api isn't advanced enough.

client app crashes right after opening it on windows

The application is crashing moments after opening the client, this is happening on the w11 operating system when it has WSL2 installed.

The only alternative to solve this is using the "-l" flag and providing the mac address.

Error:

PANI[2024-03-03T16:53:31-03:00] Error opening adapter: O sistema n�o pode encontrar o dispositivo especificado. (20)
panic: (*logrus.Entry) 0xc00038a000

goroutine 38 [running]:
github.com/sirupsen/logrus.Entry.log(0xc0000e8000, 0xc0000e5a70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /home/runner/go/pkg/mod/github.com/sirupsen/[email protected]/entry.go:255 +0x32d
github.com/sirupsen/logrus.(*Entry).Log(0xc0000e80e0, 0x0, 0xc000385f80, 0x1, 0x1)
        /home/runner/go/pkg/mod/github.com/sirupsen/[email protected]/entry.go:283 +0xf2
github.com/sirupsen/logrus.(*Entry).Panic(0xc0000e80e0, 0xc000393f80, 0x1, 0x1)
        /home/runner/go/pkg/mod/github.com/sirupsen/[email protected]/entry.go:321 +0x5c
github.com/ao-data/albiondata-client/log.Panic(...)
        /home/runner/work/albiondata-client/albiondata-client/log/logger.go:108
github.com/ao-data/albiondata-client/client.(*listener).startOnline(0xc00024e2c0, 0xc00018cdc0, 0x32, 0x13c0)
        /home/runner/work/albiondata-client/albiondata-client/client/listener.go:39 +0xcd
created by github.com/ao-data/albiondata-client/client.(*albionProcessWatcher).createListeners
        /home/runner/work/albiondata-client/albiondata-client/client/albion_watcher.go:69 +0x193

PANI[2023-05-03T06:33:57+08:00] Error opening adapter: �t�Χ䤣�����w���˸m�C (20)

INFO[2023-05-03T06:33:57+08:00] Starting Albion Data Client, version: 0.1.29
INFO[2023-05-03T06:33:57+08:00] This is a third-party application and is in no way affiliated with Sandbox Interactive or Albion Online.
INFO[2023-05-03T06:33:57+08:00] Additional parameters can listed by calling this file with the -h parameter.
INFO[2023-05-03T06:33:57+08:00] Watching Albion
PANI[2023-05-03T06:33:57+08:00] Error opening adapter: �t�Χ䤣�����w���˸m�C (20)
panic: (*logrus.Entry) 0xc0002abd50

goroutine 37 [running]:
github.com/sirupsen/logrus.Entry.log(0xc000142000, 0xc000141aa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/home/runner/go/pkg/mod/github.com/sirupsen/[email protected]/entry.go:255 +0x32d
github.com/sirupsen/logrus.(*Entry).Log(0xc0001420e0, 0x0, 0xc0001a3f80, 0x1, 0x1)
/home/runner/go/pkg/mod/github.com/sirupsen/[email protected]/entry.go:283 +0xf2
github.com/sirupsen/logrus.(*Entry).Panic(0xc0001420e0, 0xc0002d9f80, 0x1, 0x1)
/home/runner/go/pkg/mod/github.com/sirupsen/[email protected]/entry.go:321 +0x5c
github.com/broderickhyman/albiondata-client/log.Panic(...)
/home/runner/work/albiondata-client/albiondata-client/log/logger.go:108
github.com/broderickhyman/albiondata-client/client.(*listener).startOnline(0xc000211d80, 0xc0001ac000, 0x32, 0x13c0)
/home/runner/work/albiondata-client/albiondata-client/client/listener.go:39 +0xcd
created by github.com/broderickhyman/albiondata-client/client.(*albionProcessWatcher).createListeners
/home/runner/work/albiondata-client/albiondata-client/client/albion_watcher.go:69 +0x193

When I run the albiondata-client.exe it shows these message.
I am using windows 11, traditional chinese lanuage.

Need to update client/events.go

For example, when a new character appears:
(ParameterDictionary){(Byte)0=(Int16)21546, (Byte)1=(String)QQQ140, (Byte)2=(Byte)10, (Byte)3=(Byte)45, (Byte)5=(Byte[])byte[5], (Byte)6=(Byte[])byte[5], (Byte)7=(Byte[])byte[16], (Byte)10=(String), (Byte)11=(Int32)0, (Byte)12=(String), (Byte)13=(Single[])System.Single[], (Byte)14=(Single[])System.Single[], (Byte)15=(Int32)14582277, (Byte)16=(Single)192,7062, (Byte)17=(Single)5,5, (Byte)19=(Single)2238, (Byte)20=(Single)2238, (Byte)21=(Single)54,83325, (Byte)22=(Int32)14590183, (Byte)23=(Single)287, (Byte)24=(Single)287, (Byte)25=(Single)3,9502132, (Byte)26=(Int32)14590161, (Byte)30=(Int32)13504903, (Byte)31=(Single)1650,6989, (Byte)32=(Int32)13504903, (Byte)33=(Byte)2, (Byte)34=(Int16[])System.Int16[], (Byte)36=(Int16[])System.Int16[], (Byte)44=(String), (Byte)46=(Byte)0, (Byte)47=(Byte)0, (Byte)48=(Int16[])System.Int16[], (Byte)49=(Byte)5, (Byte)50=(Byte)1, ### (Byte)252=(Int16)27}

It can be seen that 252 bytes is 27. And in the file client/events.go it is 25 (evNewCharacter)

Easy anticheat detected

Hi,
Do I need to do something special to run it in Windows? Easy anticheat disconnected my game

client crashing

ERRO[2023-05-21T19:04:10+02:00] Error while sending ingest to nats with data: nats: invalid connection
ERRO[2023-05-21T19:04:10+02:00] Error in Pow Get request: Get "http://www.albion-online-data.com:4223/pow": dial tcp: lookup www.albion-online-data.com: no such host
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x40 pc=0x454cc05]

goroutine 1914 [running]:
github.com/broderickhyman/albiondata-client/client.(*httpUploaderPow).uploadWithPow(0xc0005fe340, 0x0, 0x0, 0x0, 0x0, 0xc001718f00, 0x10, 0xc001a9d000, 0x2bc5, 0x3000, ...)
/usr/src/app/client/uploader_http_pow.go:92 +0x625
github.com/broderickhyman/albiondata-client/client.(*httpUploaderPow).sendToIngest(0xc0005fe340, 0xc001a9d000, 0x2bc5, 0x3000, 0x4773d60, 0x13, 0xc0001d4000)
/usr/src/app/client/uploader_http_pow.go:147 +0x128
github.com/broderickhyman/albiondata-client/client.sendMsgToUploaders(0xc001a9d000, 0x2bc5, 0x3000, 0x4773d60, 0x13, 0xc001d62bc0, 0x3, 0x4, 0xc0001d4000)
/usr/src/app/client/dispatcher.go:114 +0xbe
github.com/broderickhyman/albiondata-client/client.sendMsgToPublicUploaders(0x46a6540, 0xc0005e7be0, 0x4773d60, 0x13, 0xc0001d4000)
/usr/src/app/client/dispatcher.go:65 +0x334
github.com/broderickhyman/albiondata-client/client.operationAuctionGetRequestsResponse.Process(0xc000116a80, 0x32, 0x32, 0xc0001d4000)
/usr/src/app/client/operation_auction_get_requests.go:44 +0x375
created by github.com/broderickhyman/albiondata-client/client.(*Router).run
/usr/src/app/client/router.go:52 +0x2d5

Running on Macos Ventura 13.4

Albiondata-client closes itself when Albion is running

All is in title.
I run Albiondata-client then i run my game. When i finaly comme in the game Albiondata-client closes itself.
I tried to run "D:\Programs\Albion Data Client\albiondata-client.exe" -l "00-00-00-00-00-00" with my physical adress but it return me an error:

image

I

Client only recording player location but not items

Dear sir/madam,

I have used the Albion Online Data Client in the past. After returning to the game I downloaded the newest client (v.35). I run the application as admin, then start the game client afterwards. The client recognises my character, and the location it is in. However, when I open the marketplace and search for items, it does not record any items.

Any idea what might be causing this?

Version 1.0.35
Region: Albion Americas
image

help? error cannot find player location

Screenshot_1
i already tried to reinstall it, already installed npcap, when i download the data client it says a message saying that a newer version of wincap has been already detected, then it says aborting installation, i dont know if its related to albion data client though, but it installs data client anyways
the error happens when i open market, and yes, even if i change area it still doesnt work (atm i was testing it at caerleon, didnt tested in any other city)

Linux build requires an old version of libpcap

Hello! Got an issue with albiondata-client requiring an older version of libpcap (libpcap.so.0.8) that hasn't been in the (archlinux) repo for quite a while. See attached screen-grab:

2023-07-20_09-46

libpcap is backward-compatible so requiring a specific older version is likely to get most people (literally anyone but debian users) forced to tinker. Ideally, you'd want to just call the default libpcap.so, which on any modern linux system is symlinked from the highest installed version.

Getting errors upon start

INFO[2024-04-11T17:11:21+01:00] Starting Albion Data Client, version: 0.1.35
INFO[2024-04-11T17:11:21+01:0ERROR systray: systray_windows.go:598 Unable to init instance: Unspecified error [error=Unable to init instance: %v error_location=github.com/getlantern/systray.nativeLoop (systray_windows.go:598) error_text=Unable to init instance: Unspecified error error_type=errors.Error]
ERROR systray: systray_windows.go:598   at github.com/getlantern/systray.nativeLoop (systray_windows.go:598)
ERROR systray: systray_windows.go:598   at github.com/getlantern/systray.Run (systray.go:81)
ERROR systray: systray_windows.go:598   at github.com/ao-data/albiondata-client/systray.Run (systray_win.go:51)
ERROR systray: systray_windows.go:598   at runtime.goexit (asm_amd64.s:1371)
ERROR systray: systray_windows.go:598 Caused by: Unspecified error
0] This is a third-party application and is in no way affiliated with Sandbox Interactive or Albion Online.
INFO[2024-04-11T17:11:21+01:00] Additional parameters can listed by calling this file with the -h parameter.
INFO[2024-04-11T17:11:21+01:00] Watching Albion

East server, reading data issue

some item cannot read the Sell Price Min data when get multiple items:

https://east.albion-online-data.com/api/v2/stats/prices/T4_ARTEFACT_MAIN_ARCANESTAFF_UNDEAD,T4_ARTEFACT_2H_ARCANESTAFF_HELL,T4_ARTEFACT_2H_ENIGMATICORB_MORGANA,T4_ARTEFACT_2H_ARCANE_RINGPAIR_AVALON,T4_ARTEFACT_MAIN_CURSEDSTAFF_UNDEAD ,T4_ARTEFACT_2H_SKULLORB_HELL,T4_ARTEFACT_2H_CURSEDSTAFF_MORGANA,T4_ARTEFACT_MAIN_CURSEDSTAFF_AVALON,T4_ARTEFACT_MAIN_FIRESTAFF_KEEPER,T4_ARTEFACT_2H_FIRESTAFF_HELL,T4_ARTEFACT_2H_INFERNOSTAFF_MORGANA,T4_ARTEFACT_2H_FIRE_RINGPAIR_AVALON,T4_ARTEFACT_MAIN_FROSTSTAFF_KEEPER,T4_ARTEFACT_2H_ICEGAUNTLETS_HELL,T4_ARTEFACT_2H_ICECRYSTAL_UNDEAD,T4_ARTEFACT_MAIN_FROSTSTAFF_AVALON,T4_ARTEFACT_MAIN_HOLYSTAFF_MORGANA,T4_ARTEFACT_2H_HOLYSTAFF_HELL,T4_ARTEFACT_2H_HOLYSTAFF_UNDEAD,T4_MAIN_HOLYSTAFF_AVALON,T4_ARTEFACT_MAIN_NATURESTAFF_KEEPER,T4_ARTEFACT_2H_NATURESTAFF_HELL,T4_ARTEFACT_2H_NATURESTAFF_KEEPER,T4_ARTEFACT_MAIN_NATURESTAFF_AVALON.xml?time-scale=1&locations=Martlock&qualities=1

but west server data has no problem:

https://www.albion-online-data.com/api/v2/stats/prices/T4_ARTEFACT_MAIN_ARCANESTAFF_UNDEAD,T4_ARTEFACT_2H_ARCANESTAFF_HELL,T4_ARTEFACT_2H_ENIGMATICORB_MORGANA,T4_ARTEFACT_2H_ARCANE_RINGPAIR_AVALON,T4_ARTEFACT_MAIN_CURSEDSTAFF_UNDEAD ,T4_ARTEFACT_2H_SKULLORB_HELL,T4_ARTEFACT_2H_CURSEDSTAFF_MORGANA,T4_ARTEFACT_MAIN_CURSEDSTAFF_AVALON,T4_ARTEFACT_MAIN_FIRESTAFF_KEEPER,T4_ARTEFACT_2H_FIRESTAFF_HELL,T4_ARTEFACT_2H_INFERNOSTAFF_MORGANA,T4_ARTEFACT_2H_FIRE_RINGPAIR_AVALON,T4_ARTEFACT_MAIN_FROSTSTAFF_KEEPER,T4_ARTEFACT_2H_ICEGAUNTLETS_HELL,T4_ARTEFACT_2H_ICECRYSTAL_UNDEAD,T4_ARTEFACT_MAIN_FROSTSTAFF_AVALON,T4_ARTEFACT_MAIN_HOLYSTAFF_MORGANA,T4_ARTEFACT_2H_HOLYSTAFF_HELL,T4_ARTEFACT_2H_HOLYSTAFF_UNDEAD,T4_MAIN_HOLYSTAFF_AVALON,T4_ARTEFACT_MAIN_NATURESTAFF_KEEPER,T4_ARTEFACT_2H_NATURESTAFF_HELL,T4_ARTEFACT_2H_NATURESTAFF_KEEPER,T4_ARTEFACT_MAIN_NATURESTAFF_AVALON.xml?time-scale=1&locations=Martlock&qualities=1

Automation

Can we just create a bot account for each city and have them check and upload the data?

'Updating player location' repeating multiple times

Sometimes after getting from one zone to another player location starts updating multiple times and if I change location one more time while this is happening things can get weird. Explanation on screenshot:
albiondata-client_uOCdLEwuRS

Get the gold price through api

Hi, the gold price api in swagger document seems to be west server. If I want to get the gold information in east server through api request what should I do?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.