Jump to content

antiroot

Members
  • Posts

    302
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by antiroot

  1. OH very sorry ambal, i meant to hit reply, but hit report by mistake short answer, the logs are from Server.log (mangos log), and trying to delete characters from client only console command does delete character, and occurs in 3 insert/delete/update steps and 1 select start -> delete petitions - > commit start -> delete characters - > commit select realmcharacters start -> delete rleamcharacters, insert realmcharacters - > commit and sorry again about the report, hopefully a mod/admin can undo my thoughtless action
  2. ok reverted my.cnf back to original my-medium.cnf - issues came back right away 2011-01-21 10:20:07 Player: channels cleaned up! 2011-01-21 10:20:07 SQL: START TRANSACTION 2011-01-21 10:20:07 [1 ms] SQL: DELETE FROM characters WHERE guid = '223' 2011-01-21 10:20:07 [2 ms] SQL: INSERT INTO characters (guid,account,name,race,class,gender,level,xp,money,playerBytes,playerBytes2,playerFlags,map, dungeon_difficulty, position_x, position_y, position_z, orientation, taximask, online, cinematic, totaltime, leveltime, rest_bonus, logout_time, is_logout_resting, resettalents_cost, resettalents_time, trans_x, trans_y, trans_z, trans_o, transguid, extra_flags, stable_slots, at_login, zone, death_expire_time, taxi_path, arenaPoints, totalHonorPoints, todayHonorPoints, yesterdayHonorPoints, totalKills, todayKills, yesterdayKills, chosenTitle, knownCurrencies, watchedFaction, drunk, health, power1, power2, power3, power4, power5, power6, power7, specCount, activeSpec, exploredZones, equipmentCache, ammoId, knownTitles, actionBars) VALUES (223, 5, 'Oncis', 11, 3, 0, 1, 0, 0, 100926977, 33554437, 0, 530, 0, -3961.64, -13931.2, 100.615, 2.08364, '0 0 536870912 8 0 0 0 0 0 0 0 0 0 0 ', 0, 0, 0, 0, 0, 1295626807, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 32, 0, 0, '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 4294967295, 0, 66,100,0,0,100,0,0,0, 1, 0, '0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ', '0 0 0 0 0 0 23345 0 0 0 0 0 23344 0 23348 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12282 0 0 0 23347 0 0 0 ',2512, '0 0 0 0 0 0 ',0) 2011-01-21 10:20:07 [3 ms] SQL: INSERT INTO character_inventory (guid,bag,slot,item,item_template) VALUES ('223', '0', '3', '5366502', '23345') 2011-01-21 10:20:07 SQL: START TRANSACTION Theres a bit much there but, the first part of the transaction is saying delete character guid:223, but then directly after we have INSERT (guid:223) also there is no commit before the start of the next transaction (all other transactions in log begin with start and end with commit), mysql show processlist shows nothing happening after creating some characters the only way to delete them again is to restart mangos, however create 10 characters, restart mangos, delete a character, create 1 new character - results in character limit message looking at the logs when the character delete is requested a transaction is started, character is deleted from all tables then committed, then SELECT COUNT(guid) FROM characters WHERE account = '5' is executed, which should be 9 after deleting 1 of 10, but client must still be getting 10 restarting mangos again after deleting 1 of 10 allows a new character to be created again.. makes me think some commits are being missed and also that some queries are just in the wrong order EDIT: othertimes there is a start transaction and then multiple nested ones below, each with a commit.. so if they are being pooled correctly i would assume they should be successful, but something is still not being committed correctly resulting in the record being locked and things just not working correctly I do see bug reports at MySQL for similar issues with completely unrelated projects/applications and they say to upgrade mysql, however i'm running a higher version than what the bug reports say to upgrade to
  3. I only added transaction-isolation = READ-COMMITTED to my mysql configuration and everything was fine afterward, at this time autocommit is still at its default value (on) I'll try and remove the config and replicate the issues If I'm able to successfully repeat the bug, then I'll raise logging levels and gather some information from mysql/mangos and what they are doing Unfortunately i have most of my mangos related log files set to a low value, what i can conclude is that Char.log correctly stated new characters were created, but when the user tried to delete them this never showed in the log
  4. Ha sorry guys, i should have read the full commit info of 11045 still had autocommits on, and it was causing record locks apparently Still doesn't explain how i got the above issues in the order I did, but this is no longer a bug report and can be closed
  5. Mangos Version: 11050 - 11055 Custom Patches: AHBot, Some of my own (unrelated to logins), Old version of ACE SD2 Version: 1953 Database Name and Version : UDB 396 OS: FreeBSD 7.2 (not sure if this is relevant, but this is why i'm using old ACE) How it SHOULD work: Deleting a character from game should delete it from db and memory and allow new character creation How it DOES work: Seemed to only delete from database, characters still appeared in console .account characters $accoutname A tester had reached the 10 character limit, attempted to delete one, character was removed from list, upon creating new character dialog stated they had already reached the limit restarted mangos - same error restarted mangos+mysql - same error used .character erase $charname - tester was able to create new character, however when trying to delete the newly created character client would hang at "deleting character" message and not proceed updated from11050 to 11055 - same issues used an alternate mysql conf.. my-medium.cf + transaction-isolation = READ-COMMITTED restarted mysql+mangos - issues seem to be resolved prior to switching to the new conf mysql was using whatever its defaults are (apparently i didn't fine tune it on this install) I don't know if this really a bug report or more of just wanting developers to know something unexpected happened If nobody else has run into this and its just me, please close this, as the issues are now resolved on my end
  6. Another thanks to Schmoozerd, the tabs to spaces will be nice for my script as well currently I use find . \\( -name "*.c" -o -name "*.cpp*" -o -name "*.h" \\) -exec sed -i '' 's/[[:space:]]\\{1,\\}$//' {} \\; in an auto updater script i wrote my find/sed code catches more trailing white spaces with every commit so i've just never bothered to post patches, but thought i would throw my code out there if anyone wanted to mess with it Note: I used csh, but it should still work with bash Edit: Might not be obvious, but that code is meant to be executed from within your mangos working directory
  7. Mangos Version:Revision 10986 Custom Patches:AHBot SD2 Version:1935 Database Name and Version :UDB 0.12.1 (396) How it SHOULD work: Inspect another player should show items player has equipped, if an item has a random suffix/enchant this should be displayed and the stats as well How it DOES work: Only the item name without the suffix is displayed and stats are displayed as 0 I don't have exact item names/IDs at the moment but for example lets say a player has "Helm of the Eagle", when another player inspects the player with the helm they only see "Helm" (missing 'of the Eagle' part) and the stats are displayed as Intellect:0 Stamina:0 edit: edited post to be more clear
  8. @VladimirMangos thanks for the feedback about the text being cached. Would this also be the case for page_texts? if not then I can drop the npc idea and create a custom item that operates as a book. I would assume page_texts would be cached by client as well, but since there is a reload page_texts command I thought I would ask anyways Edit: I just saw pagetextcache file on my client, it's empty however (possibly because i've not accessed any page text on this client machine, need to check on another machine later) So I guess back to the drawing board for this idea
  9. @Schmoozerd, thanks I had no idea there was anything in official that functioned that way, although this "book" object sounds like it is for world stats and not player stats. The concept there is still intriguing and I'll look into it a little when I have time @VladimirMangos, well it's good to know this thread found an absent command. As far as my custom function for reloading single records, I don't believe any developer should spend too much time on it if they choose to, because what we have currently works for the core and such a command serves no real purpose to the rest of the core (yet?) I'm sure I could get make the function on my own, just wanted to get some developer insight before starting. I'm also working on getting stats/achievements for creature kills, although its very hacky and I don't think it will appear in the core the way i'm doing it because i'm using hardcoded values for the creatures since they don't seem to exist in the dbc (these are for the stats like "NPCs Killed, Critters Killed, Beasts, Undead, etc") My goal is to have a sort of mini-game/competition in the world, so players can compete at beating each others stats. And have these custom <High Record Masters> located in a few cities towns where players can check who hold the highest record. Maybe use custom gossip menus and have it display bracketed records so level 1-10, 11-20, and so on thanks to both of you for your ideas and opinions
  10. Yes, I completely agree that having the NPC query the database every time a player accessed it would be very bad on the server, especially with a very full world. So lets not even consider that idea, I only stated it because it was only 1 of 2 ways i can see accomplishing this I believe all that needs to be done is at timed intervals just reload the NPCs cached text. There is console command reload page_text (i don't see one for npc_text, and I have not looked at the code to see if its loaded by another command argument) but if its possible to reload all texts, how difficult would it be to reload and replace a single record. I'm thinking If a new RA/console command could accomplish this where you'd just pass for example .reloadsingle [npc_text|] [id] then it would very few changes to the core itself and would not change anything that other parts of the core depend on. this command could then be executed from a cronjob or similar every 15-30 minutes Edit: The other benefit to making a command would be that the core would only run this feature if the Admin told it to. The Async query (like character loading) would be nice, but then it would run all the time on its own, I'd rather be in control of when this feature were to be active or not Another Edit: I already know that the functions for reloading the tables/cache works by freeing/deleting the data and then reloading it. So the current functions would not be able to handle what I want. But I'm hoping it should still be doable
  11. I know currently its not possible. But how difficult does anyone think it would be to have a special NPC that when a player talks to them they would pull their text straight from the database rather than from what mangos pulled at startup. The idea is that there will be an NPC (we'll call him <High Record Master>) whenever a player speaks with this NPC, the NPC will then return data stored in a table just for this special purpose. the data would then be updated automatically by a script that would find all the highest statistic records for the players. Example, Player talks to <High Record Master>, and sees the following in a dialog Most Deaths - Player 1 (148) Most times Fished - Player 4 (500) Most gold looted - Player 5 (200000) And so on. There's two ways I can think to handle this, one have this NPC pull data straight from the DB every time the player asks for dialog. or have the NPC use the core cache but update his data in the core at timed intervals, say every 15-30 minutes. The second would not give real time results but would be less load on the server since the data will only be fetched from the DB once (every 15-30 minutes) and then stored in memory
  12. The mangos box adding its hostname to the username part ('mangos'@'prima.game-server.cc') shouldn't be a problem and i don't believe anything needs to be changed on the mangos box. on your SQL box create new privileges that allows that host to connect using that username. If you have phpmyadmin or any other gui administration tool its pretty easy You should be able to create a rule for [email protected] or mangos@% either way should allow you to access the sql database from your mangos box Heres the SQL if you want to just blindly execute my code (note the line with scriptdev2 only needs to be executed if you use SD2) Allow only [email protected] CREATE USER 'mangos'@'prima.game-server.cc' IDENTIFIED BY 'MyPa$$word'; GRANT ALL PRIVILEGES ON mangos.* TO 'mangos'@'prima.game-server.cc' ; GRANT ALL PRIVILEGES ON characters.* TO 'mangos'@'prima.game-server.cc' ; GRANT ALL PRIVILEGES ON realmd.* TO 'mangos'@'prima.game-server.cc' ; GRANT ALL PRIVILEGES ON scriptdev2.* TO 'mangos'@'prima.game-server.cc' ; Allow only mangos@% (from any host) CREATE USER 'mangos'@'%' IDENTIFIED BY 'MyPa$$word'; GRANT ALL PRIVILEGES ON mangos.* TO 'mangos'@'%' ; GRANT ALL PRIVILEGES ON characters.* TO 'mangos'@'%' ; GRANT ALL PRIVILEGES ON realmd.* TO 'mangos'@'%' ; GRANT ALL PRIVILEGES ON scriptdev2.* TO 'mangos'@'%' ; Also user mangos doesn't actually need ALL PRIVILEGES, I only did that so it was fast and easy. Giving it all privileges could be a security risk especially if you use the mangos@% method and your sql is accessible from the internet
  13. Some filters do not appear to be working as expected anymore. The one that i'm sure about is AuctionHouseBot.Items.ReqLevel.Max If set to 40, then only items that require level 40 or below (or no level requirement) should appear, however some ReqLevel 60 and 75 items are getting through MaNGOS revision/build MaNGOS/0.17.0 (* * Revision 10850 - a6f9bed3ae18a8e1aa8b7cd7e973404ff01ffaf7) for FreeBSD_x32 Using repos/branch git://github.com/cyberium/mangos.git new_ahbot I am using an older ACE version, but i've been doing so for a while and never noticed the issue before, only other mod is SD2 but i don't think it would affect ahbot On a side note all the log out strings in AuctionHouseBot.cpp contain text similar to "(If you want to use it please set config in 'mangos.conf')" I was under impression that AHBot used its own ahbot.conf config file, should the log out text be changed?
  14. why the use of git diff and hashes for a simple checkout? seems like that whole process is overly complicated, or is it so one could see the changes before actually trying to apply the patch? Since AHBot is a branch off of the mangos project could one not just use git pull and merge the remote branch with a local copy of the mangos master? git clone git://github.com/mangos/mangos.git mangos cd mangos git pull git://github.com/cyberium/mangos.git new_ahbot wouldn't that work for a fresh local copy, or does the cyberium branch have to have the mangos master commits merged to it first? (I'm still new to git as well) of course with an existing copy that's already been merged you'd want to do a reset/rebase to get the local copy back to the original master state, update the local master, then merge ahbot and that's where you'd need the commit hash to know which state to go back to Edit: Nevermind temporary, I missed in your post that you were trying to create the patch file.. what i said above would only merge the branches without needing/making a patch file (at least after reading git docs, I believe it would)
  15. well I think you will need a new table to hold all this extra custom information since there is no spot for it in MaNOGS I would create a new database to hold this new table, this way its isolated and unrelated to the MaNGOS databases/tables In the new database table have a field that links to the characters.characters table using the guid field This would allow you to put any data you want into your new table while being linked to the MaNGOS characters table but also keeping it isolated from the core tables since this new characters_rpg_stories table would be unrelated to the mangos project databases Edit: that sounds like what you posted, but there is a slight language barrier here and i'm only clarifying it
  16. Oh yes I misunderstood, I thought you were trying to make your own game Your wanting to make it so users could make up stories and personalities about their character in MaNGOS and display this for others to read on a webpage. If I understand correctly, that sounds like a neat idea I think I would use features from the MaNGOS database, so a user can see the stories of other users in their friendlist/guild. Maybe even have it so guild leaders can make up a story for their guild as well
  17. I think few people on these forums will be able to offer as much help as you want, since MaNGOS is a C/C++ project not PHP. Somethings you should plan out (we call this the outline or brainstorming stage where I'm from) Even a small RPG game is going to have a somewhat complex database for keep track of everything If you look at the MaNGOS database structure (data is not important, but will show examples of what i'm referring to) you can see anything that is used in the server players,items,creatures,guild,etc has an id,entry,guid some tables are simply linking tables for example a player inventory would have two fields that link it to the player's id and the item's id The reason for having all this linking is so that instead of creating duplicate/identical records of an item template, you use only one template for each unique item and then make a link to that template The same is true for everything else, if players are part of a guild, there is only one guild template but the players belonging to it are linked in another table If you already know all of this, I apologize, but these are a few of the minimal basics you would need to have fully thought out before even attempting to make an RPG, or any type of game Hope this helps you get started with your project
  18. what tools or commands are you using to apply the updates?
  19. You need to apply ALL the updates in numbered order start with the first 10654_01_mangos_game_event_creature_quest.sql 10655_01_characters_character_queststatus_monthly.sql 10660_01_mangos_game_event_quest.sql ... continue until you have applied all the way to 10704_01_mangos_gossip_menu_option.sql
  20. not to sound rude, but the solution is even simpler than that. There is no need to search any forums at all, the error already tells you exactly what you need to do 2010-11-10 22:56:41 ERROR: [ A] You have: --> `10629_01_mangos_mangos_string.sql` 2010-11-10 22:56:41 ERROR: [ B] You need: --> `10704_01_mangos_gossip_menu_option.sql` 2010-11-10 22:56:41 ERROR:You must apply all updates after [ A] to [ B] to use mangos with this database. 2010-11-10 22:56:41 ERROR:These updates are included in the sql/updates folder. 2010-11-10 22:56:41 ERROR:Please read the included [README] in sql/updates for instructions on updating. The only part that is slightly confusing is where to find your "sql/updates" folder, it should be in the folder where your mangos installation is located No idea how many times Vladimir alone has answer these types of questions, and I still find it amazing that no one bothers to read the error before running to the forums to ask for help (although I do understand if English is not your primary language, that can always be a barrier)
  21. lol I know all about bitmasking, that wasn't exactly where i was confused. I was confused that the wiki (although possibly inaccurate) states 8 UNIT_FLAG_PVP_ATTACKABLE (allow apply pvp rules to attackable state in addition to faction dependent state) 4096 UNIT_FLAG_PVP Allows item spells to be casted upon if 4096 allows spells to be cast on NPC than why is 8 needed. Also if an NPC has flag 8 applied then their name text becomes blue like a playable character not green/orange/red depending on reputation/faction. Also another thing i've notice city guards are affected by this not being able to cast buffs on them, and they also no longer have the PvP text when you mouse over. I do think this sounds like DB problem, but comparing by backups with my current DB i see no difference in their flags, so it sounds like something in core has changed and database has just not caught up
  22. The NPCs i've tested had unitflag=4096 (UNIT_FLAG_PVP), I OR'd 8 (UNIT_FLAG_PVP_ATTACKABLE) onto the field resulting in 4104 and now beneficial buffs can be placed on the NPC. This was a database issue, this thread can be closed, bug report is false sorry guys I should have checked my db since that has been updated since the last time i was able to cast a spell on an NPC Although if an NPC has flag 4096 why is flag 8 needed?
  23. Mangos Version: 10685 Custom Patches: AHBot SD2 Version: 1862 Database Name and Version : UDB 393 How it SHOULD work: Should be able to cast helpful spells on friendly NPCs How it DOES work: Spells are cast at the caster directly regardless of NPC being targeted Makes any quest objective where placing a buff on an NPC impossible Tried looking through the commits for anything that has touched spell targeting related code but i'm not sure when this bug happened, but I was pretty sure I had at one time been able to successfully cast helpful buffs on NPCs in the past
  24. Is there any way to exclude specific item entry ids? for example any item that has the text "zzOLD" or "zzDEPRECATED" should probably not be added to the auctions. Doing a text search on the name field would be slow/imperfect so one would have to know the id's to exclude before hand, but i'm thinking it would make sense to be able to specify a comma separated list in the conf of ids to never load. Looking at the data provided by UDB there is no data that says an item is obsolete other than the "zz*" text in the name field, so I don't see a truly dynamic way to exclude obsolete/DND items
  25. change to mysql_select_db($mangoscharacters, $conn) or die('Select DB failed: ' . mysql_error()); $result = mysql_query ("SELECT count(*) FROM characters WHERE online = 1 AND account IN (SELECT id FROM realmd.account WHERE gmlevel >0)"); $row = mysql_fetch_array($result,MYSQL_NUM); echo "GMs online: ".$row[0]; Edit: mysql_fetch_array will fetch an array, each element in the array is a field from the fetched table/data in this case it looks like Array(count(*)) by using mysql_fetch_array($result,MYSQL_NUM) we tell the array that is returned to use numeric indexes which allows us to use $row[0] to get field1/count(*) from the returned result set
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use