ArcEmu: Thank You - ArcEmu

Jump to content

Toggle shoutbox Lastest Announcements

dfighter  : (07 December 2014 - 12:06 PM) Arcemu is in hibernation mode, please read http://arcemu.org/fo...showtopic=26903
dfighter  : (01 January 2013 - 05:56 PM) Arcemu wishes you all a happy new year!
Hasbro  : (12 September 2012 - 10:01 AM) Please excuse our outage from the web! Our web host had a major malfunction!
dfighter  : (01 September 2012 - 04:05 PM) Since the spam bots just don't want to stop, I've enabled admin verification when registering.
dfighter  : (23 January 2012 - 09:56 PM) Please note that from now on you will need to confirm your email on the wiki in order to edit it!
Hasbro  : (31 December 2011 - 12:50 PM) Happy New Years all!
Navid  : (26 December 2011 - 04:09 AM) Merry Christmas !!!!!! Happy holidays all :)
WAmadeus  : (24 December 2011 - 03:54 PM) Merry Christmas to all!
dfighter  : (24 December 2011 - 11:05 AM) The Arcemu team wishes y'all a Merry Christmukkah!
Hasbro  : (05 October 2011 - 12:53 PM) Looking for web designers for upcoming web related project. If you're interested in designing user interfaces contact me
dfighter  : (02 September 2011 - 03:47 PM) So who here wants vehicles in Arcemu? :P http://arcemu.org/fo...showtopic=25440
Hasbro  : (14 August 2011 - 03:25 PM) Join us on irc, grab an irc client and connect to irc.freenode.net join channel #arcemu /server irc.freenode.net:6667 /join #arcemu
jackpoz  : (03 August 2011 - 05:33 AM) to all Lua Engine (old one) users: please check http://arcemu.org/fo...showtopic=25274
Hasbro  : (20 May 2011 - 05:27 PM) Looking for people experienced with CMake configuration and setup! Contact me asap
Hasbro  : (15 May 2011 - 05:03 PM) ArcEmu is recruiting C++ programmers, contact Hasbro if interested.
paroxysm  : (03 May 2011 - 06:26 PM) Updated luabridge gossip example to describe the whole gossip creation process rather than just how to create menu. Gossip tutorial
paroxysm  : (23 April 2011 - 11:35 AM) Lua writers can refer to the Luabridge Tutorials section in the Wiki to learn how to write gossip code correctly.
Hasbro  : (20 April 2011 - 05:22 PM) Thank you for your continuous contribution of bug reports, we are working on them.
Hasbro  : (17 April 2011 - 03:20 AM) Please consider donating to support our bills. Donations can be sent using PayPal to donations@arcemu.org - Thank you for your support.
paroxysm  : (10 April 2011 - 12:43 AM) Refer to the Luabridge Tutorials section in the Wiki to learn the new syntax of luabridge.
Resize Shouts Area

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Thank You

#1 User is offline   cybersquare420 

  • Enthusiast
  • PipPipPip
  • Group: Members
  • Posts: 161
  • Joined: 01-April 10
  • Gender:Male
  • Location:Northern MI, USA

Posted 17 February 2011 - 10:54 PM

Hey, i just wanted to take a minut to extend my gratitude to those responsible for this project. i decided a few days ago that i wanted to see the new content... rather than complain here i thought i would just grab one of the dozens of other emus out there that are supporting it and check it out... It was during this experience that i REALLY began to appreciate you guys. the options are bleak... every one is hurrying to be the first one out and not paying any attention to detail... the servers are FAIL, and the databases are FAIL too... im not saying the efforts are without merit, but i wish they were more honest about the level of functionality they have achieved... it is this that i really appreciate you guys... rather than rush, you choose to approach the project with method and attention to detail...

thank you all.

P.S. was gonna throw you a few dollars, but the donation link is dead.. .whats the address?
1

#2 User is offline   jackpoz 

  • ArcEmu Lemon Priest
  • PipPipPipPipPipPipPipPip
  • Group: Developers
  • Posts: 2,153
  • Joined: 19-June 08
  • Gender:Male
  • Location:Italy
  • Server OS:Windows

Posted 17 February 2011 - 11:34 PM

View Postcybersquare420, on 17 February 2011 - 10:54 PM, said:

rather than rush, you choose to approach the project with method and attention to detail...


RUSHing always teaches Lessons :(
We try to be as professional as we can when working on this project so of course details are important :) (and in the last year and half the biggest "detail" we were working on was trying to improve the uptime from minutes to days :) )
Posted Image We develop dreams. Your dreams ;)
Posted ImagePosted Image
0

#3 User is offline   cybersquare420 

  • Enthusiast
  • PipPipPip
  • Group: Members
  • Posts: 161
  • Joined: 01-April 10
  • Gender:Male
  • Location:Northern MI, USA

Posted 18 February 2011 - 08:24 AM

link was live this morning... donation made... thanks again! :(
0

#4 User is offline   dfighter 

  • Titles are overrated
  • PipPipPipPipPipPipPipPipPipPip
  • Group: Administrator
  • Posts: 5,189
  • Joined: 14-June 08
  • IRC:dfighter
  • Gender:Male
  • Server OS:Linux

Posted 18 February 2011 - 08:43 AM

We thank you for thanking us :(
"The demand for free goods is infinite."
0

#5 User is offline   cybersquare420 

  • Enthusiast
  • PipPipPip
  • Group: Members
  • Posts: 161
  • Joined: 01-April 10
  • Gender:Male
  • Location:Northern MI, USA

Posted 20 February 2011 - 09:13 PM

quick question/request i have been looking around the wiki and old forum threads for a in game gm command to add a loot item to an npc... either i really suck at searching (possible), or there is no such command... if there exists such a command could someone point me to it? and if not, i would like to humbly request that such a gm command be added at your earliest convenience... i imagine the devs working on arcgm would add it to their project in short order as well... missing required loot seems to come up fairly often... would be nice to have an easier way to fix it than manually editing the loot tables and rebooting the server...
anyway, thanx again for all your great work! :o
0

#6 User is offline   jackpoz 

  • ArcEmu Lemon Priest
  • PipPipPipPipPipPipPipPip
  • Group: Developers
  • Posts: 2,153
  • Joined: 19-June 08
  • Gender:Male
  • Location:Italy
  • Server OS:Windows

Posted 21 February 2011 - 03:24 AM

I wonder how many threading issues a command like that would cause (editing the loot tables in a map while a player on another map kills a Creature with the same entry id, accessing the same loot table).
Posted Image We develop dreams. Your dreams ;)
Posted ImagePosted Image
0

#7 User is offline   cybersquare420 

  • Enthusiast
  • PipPipPip
  • Group: Members
  • Posts: 161
  • Joined: 01-April 10
  • Gender:Male
  • Location:Northern MI, USA

Posted 21 February 2011 - 07:08 AM

View PostSaintJamesApostle, on 21 February 2011 - 03:24 AM, said:

I wonder how many threading issues a command like that would cause (editing the loot tables in a map while a player on another map kills a Creature with the same entry id, accessing the same loot table).


ahhhh... tbh i figured it would not update the loot table till reboot... i was just thinking it would be nice to have a cammand to use while you are thinking about it rather than my current method which consists of writing down all the info and manually updating the database at a later time when im done playing... but if it would cause too many undue headaches then i guess i know why it doesnt exist... hehe...

but wait... bear with me here... isnt it impossible for the server to reload the table without a restart in the core's current state? cause if so then the change cannot show in live play without a restart anyway... right?... or is my lack of c++ knowledge showing itself here again? i admit to only having a rudimentary understanding of it... i took a class in college, but the proff sucked ass and we really didnt learn much... i keep saying i am gonna go audit a class in it to get a better handle on it but have not had the time yet...
0

#8 User is offline   jackpoz 

  • ArcEmu Lemon Priest
  • PipPipPipPipPipPipPipPip
  • Group: Developers
  • Posts: 2,153
  • Joined: 19-June 08
  • Gender:Male
  • Location:Italy
  • Server OS:Windows

Posted 21 February 2011 - 08:35 AM

loots are stored in LootMgr declared in LootMgr.h as
class SERVER_DECL LootMgr : public Singleton < LootMgr >

which has the members
LootStore	CreatureLoot;
LootStore FishingLoot;
LootStore SkinningLoot;
LootStore GOLoot;
LootStore ItemLoot;
LootStore PickpocketingLoot;

with LootStore defined as
typedef HM_NAMESPACE::hash_map<uint32, StoreLootList > LootStore;

As you can see, it's a singleton so it's accessed all over arcemu-world from multiple maps (so multiple MapMgrs, so multiple threads).
If we take for examples the Creature loot, the method "Creature::Die()" calls "Creature::generateLoot()" which calls "LootMgr::FillCreatureLoot()" which calls "void LootMgr::PushLoot(StoreLootList *list,Loot * loot, uint32 type )". As you can see, PushLoot() has a StoreLootList as first parameter, passed by FillCreatureLoot() and retrieved from CreatureLoot (member of LootMgr). Let's take a closer look to PushLoot()
void LootMgr::PushLoot(StoreLootList *list,Loot * loot, uint32 type )
{
	uint32 i;
	uint32 count;

	if( type < LOOT_NORMAL10 || type >= NUM_LOOT_TYPES )
		return;

	for( uint32 x = 0; x < list->count; x++ ) <--- list is accessed
	{
		if( list->items[x].item.itemproto )list is accessed

There's a for loop that checks for " x < list->count" and then get's the xth element of list->items. What if between the list->count check and the list->items[x] access another thread (like another GM on another Map) removes an item from a Creature with the same entry? Let me give you a tip about the answer:
Posted Image
I suggest you to read more about race condition and other threading issues, you may start at http://en.wikipedia....ition#Computing

oh and yes, this is why we disabled the "reload tables" feature.
Posted Image We develop dreams. Your dreams ;)
Posted ImagePosted Image
0

#9 User is offline   cybersquare420 

  • Enthusiast
  • PipPipPip
  • Group: Members
  • Posts: 161
  • Joined: 01-April 10
  • Gender:Male
  • Location:Northern MI, USA

Posted 21 February 2011 - 08:52 AM

makes sense. i was thinking about it from an adding loot perspective... the opposite condition had not occurred to me... also had not considered a loop... was thinking about as an instant effect... thank you for clearing that up for me...

hmmm... what if it were handled by a script builder instead then... GM sees the need to make a loot adjustment, calls for it, and a cumulative sql script is generated... then out of game work would be limited to executing the script, this would be no big deal to do during the next core update one applied or some other opportune moment? what do you think?
0

#10 User is offline   jackpoz 

  • ArcEmu Lemon Priest
  • PipPipPipPipPipPipPipPip
  • Group: Developers
  • Posts: 2,153
  • Joined: 19-June 08
  • Gender:Male
  • Location:Italy
  • Server OS:Windows

Posted 21 February 2011 - 10:27 AM

I think GMs should report the missing loots on the forum of the World Database used, even better as SQL queries. Isn't there a tool to do that, out of the thousands of ril pro VB.NET tools ?
Posted Image We develop dreams. Your dreams ;)
Posted ImagePosted Image
0

#11 User is offline   cybersquare420 

  • Enthusiast
  • PipPipPip
  • Group: Members
  • Posts: 161
  • Joined: 01-April 10
  • Gender:Male
  • Location:Northern MI, USA

Posted 21 February 2011 - 10:48 AM

View PostSaintJamesApostle, on 21 February 2011 - 10:27 AM, said:

I think GMs should report the missing loots on the forum of the World Database used, even better as SQL queries. Isn't there a tool to do that, out of the thousands of ril pro VB.NET tools ?


there prolly is... having given it more thought... i think the right place for a tool of this nature is an addon for the client... then GM could build the sql queries and submit them to the appropriate forums, be it theirs or someone else's... thanx again for your insight :o
0

#12 User is offline   jackpoz 

  • ArcEmu Lemon Priest
  • PipPipPipPipPipPipPipPip
  • Group: Developers
  • Posts: 2,153
  • Joined: 19-June 08
  • Gender:Male
  • Location:Italy
  • Server OS:Windows

Posted 21 February 2011 - 11:02 AM

the point is that a GM shouldn't mess with the Database but developers should rather do that.
Posted Image We develop dreams. Your dreams ;)
Posted ImagePosted Image
0

#13 User is offline   cybersquare420 

  • Enthusiast
  • PipPipPip
  • Group: Members
  • Posts: 161
  • Joined: 01-April 10
  • Gender:Male
  • Location:Northern MI, USA

Posted 21 February 2011 - 11:19 AM

i agree... thats what i said... but in a small operation like mine a person ends up wearing several hats. so i guess what im saying is i will have to write/covert an addon to do what i want it to do... in this case i would like it to write a sql script for me and save it locally so i can run it against my database at a later time.
0

#14 User is offline   dfighter 

  • Titles are overrated
  • PipPipPipPipPipPipPipPipPipPip
  • Group: Administrator
  • Posts: 5,189
  • Joined: 14-June 08
  • IRC:dfighter
  • Gender:Male
  • Server OS:Linux

Posted 21 February 2011 - 12:06 PM

View Postcybersquare420, on 21 February 2011 - 11:19 AM, said:

but in a small operation like mine a person ends up wearing several hats

I prefer to wear my wizard hat, usually I can solve any problems with that :o
I can even open rifts to other planes in it!


Here you go, maybe this will help you too :D
Posted Image
"The demand for free goods is infinite."
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users