View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001819SphereServerexecutable - genericpublic17-09-10 08:4627-09-10 22:23
Reporterbabidi 
Assigned ToMrSugarCube 
PrioritynormalSeveritymajorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformallOSwindows (not tested linux)OS Version
Product Version20-09-2009, 0.56b Prerelease 
Target VersionFixed in Version0.56c Nightly 
Summary0001819: world save initiated when finish
DescriptionWhen saving all the triggers are runned toghether
When the "World save initiated" is show the world is already saved.

put a message on all the functions and wathc that all are triggered toghether.

thanks

buid #1333 and other before
TagsNo tags attached.
Nightly VersionAutomated (specify build number)
Experimental FlagsNone
Option FlagsNone
Internal Build Number1333
Attached Files

- Relationships

-  Notes
(0000658)
ShiryuX (developer)
22-09-10 01:58

Are you using EF_NetworkOutThread? The server 'freezes' at the world save, so it should be expected. Anyway, doing a quick 'serv.log' on the f_onserv_save* functions shows the order and the trigger is correct.

With EF_NetworkOutThread this should not happens since it is in a separate thread.
(0000662)
babidi (reporter)
22-09-10 08:36

i canfirm the order of function triggering is ok.
the problem is that the save starts, stuck the game, and when finished, says "word save initated"; but it is finished!
all the fuction are triggered in the right order but at the same time.
you cas apreciate this by joining the game and to a serv.b under all the save function, then wait the world to save (dont .save)

// Experimental flags
// Flags for options that affect server behaviour and which might affect compatibility
// See the revisions.txt file for more details on this
// EF_DiagonalWalkCheck = 00000001
// EF_UNICODE = 00000002 // No on Linux
// EF_New_Triggers = 00000008
// EF_Intrinsic_Locals = 00000020
// EF_Item_Strict_Comparison = 00000040
// EF_NewPositionChecks = 00000080 // Do not set while server is running !!!
// EF_WalkCheck = 00000100
// EF_AllowTelnetPacketFilter = 00000200 // Enables packet filtering for telnet connections as well
// EF_Script_Profiler = 00000400
// EF_Size_Optimise = 00000800
// EF_Minimize_Triggers = 00001000 // Minimize trigger calls (use only 0.51 triggers)
// EF_DamageTools = 00002000 // damage tools (and fire @damage on them) while mining or lumberjacking
// EF_PetSlots = 00004000 // INCOMPLETE YET! DO NOT USE until this warning is removed!
// EF_UsePingServer = 00008000 // Enable the experimental Ping Server (for showing pings on the server list, uses UDP port 12000)
// EF_NPCAct_Triggers = 00010000 // Enable @NPCSpecialAction and @NPCAction triggers (mutual exclusive with EF_Minimize_Triggers)
// EF_NoWalkingThroughStairsFix = 00400000 // Disables a fix for GMs walking through stairs (see revisions file, this flag should not be needed)
// EF_UseNetworkMulti = 00800000 // Enable optimized network routines (better) - Do not set while server is running !!!
// EF_Specific = 01000000 // Specific behaviour, not completly tested
Experimental=00000001|00000008|00000040|00000100|00000800|00010000

// Option flags
// Flags for options that affect server behaviour but not compatibility
// See the revisions.txt file for more details on this
// OF_Command_Sysmsgs = 00000008 //Shows status of hearall, allshow, allmove... commands after toggling them
// OF_OSIMultiSight = 00000020
// OF_Items_AutoName = 00000040
// OF_FileCommands = 00000080
// OF_NoItemNaming = 00000100
// OF_NoHouseMuteSpeech = 00000200
// OF_Flood_Protection = 00001000
// OF_Buffs = 00002000
// OF_NoPrefix = 00004000 // Add prefix "A" and "An" to itemnames or not
// OF_DyeType = 00008000 // if set allows using i_dye on all t_dye_vat instead of only i_dye_tub
// OF_DrinkIsFood = 00010000 // type T_DRINK will increase FOOD lvl like T_FOOD
// OF_Specific = 01000000 // Specific behaviour, not completly tested
OptionFlags=08|020|0200|02000
(0000664)
Incanus (reporter)
22-09-10 16:08

I can confirm that the "word save initated" message appears after the save has finished.
(0000665)
babidi (reporter)
22-09-10 16:56

the f_onserver_save whould trigger before game stucks
the f_onserver_save_finished when the stucks finish
the f_onserver_save_ok & f_onserver_save_fail after _finished ad a result of the save action


i think this should be the right order and way this should go
there is something changet trught version
version of 1-2 months ago worked well as i say
(0000666)
ShiryuX (developer)
22-09-10 18:29

The functions works fine. Try doing serv.log instead of serv.b.

Babidi, according to your report you're using Automated Builds, but your ini settings are pretty old, update sphere.ini also. And as I said: It's not a bug, when the server starts saving it will freeze and it won't send any packet, just like a resync, so if there's a packet queue, it won't be send until the world save is finished. Enable EF_NetworkOutThread in your Experimental settings and it won't happen anymore.
(0000667)
babidi (reporter)
22-09-10 19:30

can't simply put the packet before the save?
so it will not queue?
(0000668)
ShiryuX (developer)
22-09-10 21:33

Is not really easy to clear the packet queue in a frozen server. It may lead to unexpected behavior.
As I said, enable EF_NetworkOutThread and you won't have this 'problem'.

Thank you.
(0000671)
babidi (reporter)
23-09-10 19:41
edited on: 23-09-10 19:41

updated nightly and sphere.ini, enabled EF_NetworkOutThread the things does not change!

// Experimental flags
// Flags for options that affect server behaviour and which might affect compatibility
// See the revisions.txt file for more details on this
//*EF_DiagonalWalkCheck = 00000001
//*EF_New_Triggers = 00000008
// EF_Intrinsic_Locals = 00000020
//*EF_Item_Strict_Comparison = 00000040
// EF_NewPositionChecks = 00000080 // Do not set while server is running !!!
//*EF_WalkCheck = 00000100
// EF_AllowTelnetPacketFilter = 00000200 // Enables packet filtering for telnet connections as well
// EF_Script_Profiler = 00000400
//*EF_Size_Optimise = 00000800
// EF_Minimize_Triggers = 00001000 // Minimize trigger calls (use only 0.51 triggers)
// EF_DamageTools = 00002000 // damage tools (and fire @damage on them) while mining or lumberjacking
// EF_PetSlots = 00004000 // INCOMPLETE YET! DO NOT USE until this warning is removed!
// EF_UsePingServer = 00008000 // Enable the experimental Ping Server (for showing pings on the server list, uses UDP port 12000)
//*EF_NPCAct_Triggers = 00010000 // Enable @NPCSpecialAction and @NPCAction triggers (mutual exclusive with EF_Minimize_Triggers)
// EF_FixCanSeeInClosedConts = 00020000 // Change CANSEE to return 0 for items inside containers that a client hasn't opened
//*EF_NetworkOutThread = 00800000 // Send network data in a separate thread
// EF_Specific = 01000000 // Specific behaviour, not completly tested
Experimental=01|08|040|0100|0800|010000|0800000


- Issue History
Date Modified Username Field Change
17-09-10 08:46 babidi New Issue
22-09-10 01:58 ShiryuX Note Added: 0000658
22-09-10 08:36 babidi Note Added: 0000662
22-09-10 16:08 Incanus Note Added: 0000664
22-09-10 16:56 babidi Note Added: 0000665
22-09-10 18:29 ShiryuX Note Added: 0000666
22-09-10 19:30 babidi Note Added: 0000667
22-09-10 21:33 ShiryuX Note Added: 0000668
22-09-10 21:33 ShiryuX Status new => closed
22-09-10 21:33 ShiryuX Assigned To => ShiryuX
22-09-10 21:33 ShiryuX Resolution open => no change required
23-09-10 19:41 babidi Note Added: 0000671
23-09-10 19:41 babidi Status closed => feedback
23-09-10 19:41 babidi Resolution no change required => reopened
23-09-10 19:41 babidi Note Edited: 0000671 View Revisions
23-09-10 19:41 babidi Note Edited: 0000671 View Revisions
27-09-10 22:23 MrSugarCube Status feedback => resolved
27-09-10 22:23 MrSugarCube Fixed in Version => 0.56c Nightly
27-09-10 22:23 MrSugarCube Resolution reopened => fixed
27-09-10 22:23 MrSugarCube Assigned To ShiryuX => MrSugarCube


Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker