VGOEmulator.net

A Development Project for the Vanguard:Saga of Heroes MMO

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • Portal
  • Project Manager
  • Bug Tracker
  • Server List
  • Wiki
  • Donate
  • Login
  • Register
  • Board index Bugs Server Bugs Server Bugs (Closed)
  • Search

World Crash - Reload NPCs

Closed Server Bugs

Moderators: Community Managers, Developers

Locked
  • Print view
Advanced search
22 posts
  • 1
  • 2
  • 3
  • Next
User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
World Crash - Reload NPCs
  • Quote

Post by John Adams » Sat Nov 22, 2014 1:56 pm

Stack

Code: Select all

 	WorldServer.exe!cmpBYTE(const void * lhs, const void * rhs) Line 76	C
 	WorldServer.exe!memcmp(const void * lhs, const void * rhs, unsigned int siz) Line 255	C
>	WorldServer.exe!CommandProcess::CommandReloadNPCs(std::shared_ptr<Client> & client, Separator * sep, unsigned char command_index, bool world_client) Line 1270	C++
 	WorldServer.exe!CommandProcess::Process(std::shared_ptr<Client> & client, Separator * sep, unsigned char command_index, bool world_client) Line 237	C++
 	WorldServer.exe!ChunkServer::HandleChatSay(std::shared_ptr<Client> & client, PacketStruct * packet_struct) Line 918	C++
 	WorldServer.exe!ChunkServer::ProcessPackets() Line 337	C++
 	WorldServer.exe!ChunkPacketThread(void * data) Line 131	C++
 	WorldServer.exe!ThreadRun(void * arg) Line 77	C++
 	WorldServer.exe!_callthreadstart() Line 255	C
 	WorldServer.exe!_threadstart(void * ptd) Line 239	C
 	kernel32.dll!7574338a()	Unknown
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
 	ntdll.dll!77329f72()	Unknown
 	ntdll.dll!77329f45()	Unknown
Code:

Code: Select all

if ((memcmp(arg,"all", 3)==0)) {
"arg" is empty

Console:
[quote]13:54:43.981 D Command Player 'Cyrcle' used command '.reload:npcs' (31)[/quote]
Top

User avatar
Cyrcle
Data Collector
Data Collector
Posts: 288
Joined: Fri Jan 31, 2014 1:51 pm
Re: World Crash - Reload NPCs
  • Quote

Post by Cyrcle » Sat Nov 22, 2014 1:58 pm

I did a .repop npcs, it didnt do anything so i did it again and then it worked then tried .reload npcs and I broke it

I am on a roll today.

Edit: This was in an attempt to restore an NPC (Deadly Striker) I did a .spawn remove at location -2118, -49791, 1653 in chunk Khal. Oops.
Top

User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
Re: World Crash - Reload NPCs
  • Quote

Post by John Adams » Sat Nov 22, 2014 2:02 pm

There is minimal logging (client and console) at the moment. What likely happened was your first "reload" wasn't finished, and maybe a 2nd one started (Lokked?) or if it is blocked, the .reload is not blocked by an active .repop. All stuff we have to smooth out, so no worries crashing the world. I'm hanging out at the console today actually, I'll be back in a few hours. If you crash it again, it'll have to keep til I get back.
Top

User avatar
Moldew
Content Designer
Content Designer
Posts: 670
Joined: Sat May 24, 2014 10:51 am
Location: Seattle, WA
Re: World Crash - Reload NPCs
  • Quote

Post by Moldew » Sat Nov 22, 2014 2:10 pm

I think I keep crashing it too. Playing with the .summon command a lot and sometimes it works, sometimes not, sometimes I CTD or char select after a few. Could be a symptom of some other issue though since it was crashing before all that.
Haiku is easy -
But sometimes it makes no sense.
Refridgerator.
Top

Lokked
Principle Developer
Principle Developer
Posts: 600
Joined: Wed Aug 06, 2014 3:15 pm
Re: World Crash - Reload NPCs
  • Quote

Post by Lokked » Sat Nov 22, 2014 4:12 pm

This is fixed in recent Revs. I'd brought to our attention the problem with using memcmp. This should all be resolved since a couple revs ago.

The proper comparison is strcmp, and the <= command_index + 1 should be > command_index + 1.
Top

User avatar
Cyrcle
Data Collector
Data Collector
Posts: 288
Joined: Fri Jan 31, 2014 1:51 pm
Re: World Crash - Reload NPCs
  • Quote

Post by Cyrcle » Sat Nov 22, 2014 4:33 pm

Yeah, I'm about 99% sure I broke the server again with the same method.

Used a .reload spawns command, waited around 3 minutes and tried another command (don't remember which) and client closed & server crashed.

There is no indication of when any of the .reload commands start (to tell if the command went through) or end (to tell when it is okay to run another command), so maybe that could be added later? Meanwhile, I'll be sure not to use any .reload commands.
Top

Lokked
Principle Developer
Principle Developer
Posts: 600
Joined: Wed Aug 06, 2014 3:15 pm
Re: World Crash - Reload NPCs
  • Quote

Post by Lokked » Sat Nov 22, 2014 4:39 pm

There actually is :p. It just never makes it there because it crashes while the string you've submitted (the .reload spawns command) is being parsed.

At some point there was a change made to the parsing method that never actually worked. It just needs to be updated on NT.

John, when you update, Rev 843 will have the most recent changes, including this issue.

Also, I know this is convoluted right now, but if you want to see changes in spawn locations and what you've removed, etc, use .reload entries (it does take a while). This is responsible for the actual placement of the NPCs. I will be making changes to this so it loads faster, but currently it takes around 30 seconds to complete. There are indicators of what stage it's at sent to your chat window, however.

Re: Summon. It is just for fun at this point. It does not write changes to the database. As soon as you .repop, the spawn will be back to where it originated. .summon won't crash the server. If it's crashing your client, I'd chalk that up to the same issue as all the other current CTD issues, and that's some networking flaw in either our system or the VGClient.
Top

User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
Re: World Crash - Reload NPCs
  • Quote

Post by John Adams » Sun Nov 23, 2014 5:42 pm

Lokked, this was Rev 839.

I'd like all the confusing .reload and .repop options consolidated into a single command. .repop just repops the chunk, period. and .reload spawns does the entire list as if from startup. I know you were trying to only do 1 chunks data, but honestly I do not trust that. I'd like the list completely refreshed on .reload

Having so many options only leads to confusion, and I want simplicity everywhere we can (unless there is some technical reason we cannot?) Thanks.
Top

Lokked
Principle Developer
Principle Developer
Posts: 600
Joined: Wed Aug 06, 2014 3:15 pm
Re: World Crash - Reload NPCs
  • Quote

Post by Lokked » Sun Nov 23, 2014 6:28 pm

I'll remove the sub commands for repoping and reloading. There's no technical reason against this.

memcmp should be strcmp, as in current revs, to mitigate the crash experienced in the OP.
Top

User avatar
John Adams
Retired
Posts: 4582
Joined: Wed Aug 28, 2013 9:40 am
Location: Phoenix, AZ.
Contact:
Contact John Adams
Website
Re: World Crash - Reload NPCs
  • Quote

Post by John Adams » Sun Nov 23, 2014 7:23 pm

Btw, didn't mean that to sound so bossy It was the "entries" one that got me. Honestly, I'd rather .reload spawns do everything, entire list, globally... but that's just me being a purist. I'm okay with how you have .reload spawns working now, which I think only reloads spawn data from my current chunk into the master list, then repops the chunk.

The (technical) reason I do not want these commands tied to a chunk_id only is because I plan to have "common" spawn objects that span multiple chunks (someday - eg, not 6,000 Ra001Blah_FingerPost01 that are >exactly< the same 6,000 times) and thus .reload spawns-only-in-my-chunk will not work. This is why I wanted to flush/load the entire list like we're starting the world over.
Top


Locked
  • Print view

22 posts
  • 1
  • 2
  • 3
  • Next

Return to “Server Bugs (Closed)”

Jump to
  • Information
  • ↳   Announcements
  • ↳   Dev Chats
  • ↳   Events
  • Community
  • ↳   General Discussions
  • ↳   VGO Team Help Requests
  • ↳   Introductions
  • ↳   Game Features
  • ↳   Wish List
  • ↳   Off-Topic
  • Support
  • ↳   How-To's
  • ↳   General Support
  • ↳   Windows
  • ↳   Linux
  • Bugs
  • ↳   Server Bugs
  • ↳   Server Bugs (Closed)
  • ↳   Content Bugs
  • ↳   Content Bugs (Closed)
  • ↳   Database Bugs
  • ↳   Tools Bugs
  • Board index
  • All times are UTC-07:00
  • Delete cookies
  • Contact us
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD