Skip to content

Instantly share code, notes, and snippets.

@TeoTwawki
Created January 28, 2020 21:01
Show Gist options
  • Save TeoTwawki/1a452e6eb162816f8c7ffa3b0c750e5d to your computer and use it in GitHub Desktop.
Save TeoTwawki/1a452e6eb162816f8c7ffa3b0c750e5d to your computer and use it in GitHub Desktop.

[10:56 AM] Tagban: Anyone else seeing crashes after most recent pull related to char utils and additem?

[10:56 AM] Tagban: [28/Jan] [10:56:16][Warning] charplugin::AddItem: Item <23733> is not found in a database

[10:57 AM] Tagban: Anything not in the database crashes the server now

[10:57 AM] Tagban: Including item 0 when a player steals

[11:01 AM] Alucard: its always been the case for as long as I can remember

[11:01 AM] Alucard: I even use it to trigger server restarts from within the game 😄

[11:02 AM] Alucard: additem or even a nonexistent itemid in a shop will do it

[11:10 AM] Tagban: So

[11:11 AM] Tagban: How is it happening on steal? or does the monster simply not have item ids?

[11:11 AM] Tagban: Its saying on item id 0

[11:12 AM] Tagban: So maybe I can just make an ID 0 as a generic piece of crap

[11:12 AM] Tagban: And tweak additem to not allow after x ID.

[11:14 AM] Derahine: why not just check if getStealItem() ~= 0 ? That's what our steal and despoil scripts do--verify that the ID before trying to call addItem(stolen).

[11:15 AM] Tagban: I dunno, seems like that should be built into core.

[11:15 AM] Tagban: To avoid crashes

[11:16 AM] Derahine: the crash catch, yes, though you'd want to handle the 0 item stolen as well as you wouldn't want to fire those messages and such.

[11:16 AM] Derahine: Ours doesn't crash when you add item with an invalid item id... I remember wrapping something with it a while back.

[11:21 AM] TeoTwawki: if the mob has no item to steal it should have been nil i would think, not zero

[11:22 AM] TeoTwawki: and I'd agree with tags to have it done right in core. if its not a valid number, stop it right there. still woudl be probs if people "added" stealable items that weren't even in item basic yet, but that shouldn't be our concern here

[11:23 AM] Derahine: getStealItem returns either an int of the item id stolen, or zero.

[11:23 AM] Tagban: I see one under mob_droplist with an itemId of 0

[11:23 AM] Tagban: 2801

[11:23 AM] TeoTwawki: well better if !0 the core then

[11:24 AM] TeoTwawki: git blame it tags!

[11:24 AM] Tagban: Who did it xD

[11:24 AM] TeoTwawki: see who we needa lynch

[11:24 AM] TeoTwawki: opens a cart selling torches and pitchforks

[11:24 AM] TeoTwawki: only $19.95!

[11:25 AM] TeoTwawki: by two torches, get a 3rd abosulutely free!

[11:25 AM] TeoTwawki: pitchforks made of high grade steel, gauranteed to crit at least 5%

[11:26 AM] Tagban: Weird in the SQL file it shows 14807

[11:26 AM] Tagban: I'll fix it manually.. but that's odd.

[11:26 AM] TeoTwawki: 🤔 soo.....tagban did it?

[11:27 AM] Tagban: Ah nevermind

[11:27 AM] Tagban: I found the line

[11:27 AM] Tagban: INSERT INTO mob_droplist VALUES (2801,2,0,1000,0,150);

[11:27 AM] Tagban: wrenffxi

[11:27 AM] TeoTwawki: GASPSES

[11:28 AM] Tagban: Replacing 0 with 1

[11:28 AM] Tagban: lol

[11:28 AM] Tagban: #lazy

[11:28 AM] Tagban: You get a gil!

[11:28 AM] TeoTwawki: wut

[11:28 AM] TeoTwawki: 65535 is gil

[11:28 AM] Tagban: Whatever

[11:28 AM] TeoTwawki: 1 is choco bedding I think

[11:28 AM] Tagban: they get something shitty then

[11:28 AM] Tagban: They can fuck off.

[11:28 AM] Tagban: ;p;

[11:28 AM] Tagban: lol

[11:50 AM] Tagban: So before when an itemid was wrong/fake it would just say added item in chatlog but not spam the server log.

[11:50 AM] Tagban: I don't update frequently, but this seems to be when it changed: DarkstarProject/darkstar#6361

[11:51 AM] TeoTwawki: so that drop id with the zero item belongs to a bunny in abyssea latheine

[11:52 AM] Tagban: Yea its weird. the error is happening when stealing from a Bark Tarantula in Boyhada

[11:52 AM] Tagban: It gives a 0 item ID

[11:52 AM] TeoTwawki: hmm

[11:52 AM] Tagban: And just spams the game server

[11:52 AM] Tagban: [28/Jan] [10:56:16][Warning] charplugin::AddItem: Item <23733> is not found in a database

[11:52 AM] Tagban: basically just spams it and 'crashes' the server for players.

[11:53 AM] Tagban: It happened after I updated 3-4 days ago.

[11:53 AM] Tagban: So within the last 30 days I even did a clean pull and confirmed its still happening there

[11:54 AM] TeoTwawki: not seeing that zero item in dropid 2801 in my copy

[11:54 AM] TeoTwawki:

INSERT INTO `mob_droplist` VALUES (2801,0,0,1000,856,150);

INSERT INTO `mob_droplist` VALUES (2801,0,0,1000,2490,100);

INSERT INTO `mob_droplist` VALUES (2801,0,0,1000,4358,120);

[11:54 AM] Tagban: I duno

[11:54 AM] Tagban: I tried clean pulls, etc.

[11:54 AM] Tagban: Still found it

[11:54 AM] Tagban: But just changed it to some other random number

[11:54 AM] Tagban: lol

[11:54 AM] Tagban: That isn't my biggest concern

[11:55 AM] TeoTwawki:

Item <23733> is not found in a database

weeeellll thats not item 0

[11:55 AM] TeoTwawki: so

[11:55 AM] TeoTwawki: wtf is 23733

[11:55 AM] Tagban: It was trying to add an item not found in DB

[11:55 AM] TeoTwawki: and why's it in a drop but not in item basic

[11:55 AM] Tagban: But it just spams the game server forever.

[11:56 AM] TeoTwawki: prolly typo

[11:56 AM] Tagban: ANd the same spam happened when trying to steal from bark tarantula just with item ID 0

[11:56 AM] Epictaru: remove the spider, remove the spam, feexed!

[11:56 AM] Tagban: lol

[11:56 AM] TeoTwawki: kind of expected behavior - its the db thats worng somewhere, eitehr in dsp or your fork

[11:56 AM] Tagban: My answer was deleting all chars/accounts/etc.

[11:56 AM] Tagban: ANd starting clean

[11:56 AM] Tagban: Still having issues

[11:57 AM] TeoTwawki: Autkasts's change was to make additem do looks so that it coudl do multiple stacks without multiple calls

[11:59 AM] TeoTwawki: someone shoudl prolly let him know and have it stop the loop if the item is invalid

[11:59 AM] TeoTwawki: or just pr it

[11:59 AM] TeoTwawki: I ain't got time to go fix it

[12:02 PM] Tagban: Commented.

[12:02 PM] Tagban: I don't have much time either.

[12:05 PM] TeoTwawki: https://www.ffxiah.com/item/23733/malignance-tabard

FFXI Auction House Online

[12:05 PM] TeoTwawki: def should not be on spidey xD

[12:05 PM] Tagban: Yea I know

[12:06 PM] Tagban: THat wasn't what I was reporting the spider is doing 0 for steal

[2:52 PM] Tagban: They fixed it with a break; to stop the loop.

[2:52 PM] Tagban: w00t.

[3:04 PM] Tagban: Nevermind, still broken.

[3:05 PM] TeoTwawki: break should have taken care of said infinite loop. should get one error message and then stops. its still infity printing that message?

[3:05 PM] TeoTwawki: infinity even

[3:06 PM] Tagban: Yep

[3:06 PM] Tagban: Goes forever

[3:09 PM] Tagban: Like, I agree its few and far between more than likely, not sure how the hell bark tarantula has a steel item id of 0 (in the database it doesn't show 0), but currently anyone with access to additem can crash the server and because it doesn't (crash) the program, so auto-rebooter won't kick in since its still doing stuff, just the same thing forever.

[3:10 PM] Tagban: THe break; might still be the right answer, but maybe its missing somewhere else.

[3:13 PM] TeoTwawki: i'l bet steal loops seperately

[3:15 PM] Tagban: I'd need to dig into charplugin::additem

[3:15 PM] Tagban: Since I'm guessing that's used for anything adding an item to a char's inventory.

[3:15 PM] Tagban: And I'm not sure if charutils = charplugin

[3:19 PM] Tagban: Looking at it myself the break; appears to be in the right spot, so it SHOULD stop it.. but I'm not an expert.

[3:19 PM] Tagban: Hm found an additem on 3559 in lua_baseentity that isn't break'd

[3:21 PM] Tagban: lol Great minds, Autkast responded via Github at the same time xD

[3:30 PM] Tagban: Yep that line fixed it. w00t.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment