Closed FiLoUs64 closed 3 years ago
ProcessMessage() is used to format internal messages, so probably there's a message with wrong % args on your sphere_msgs.scp. Messages must have all % args in the same sequence and these args should not be reordered/added/removed or get the type changed (%s, %d, etc) because this will make console throw this exception when it try to fill wrong args on the message
Honestly I don't think this is related to disconnect issue, but anyway, things should be better if you first fix it because sphere automatically disconnect clients causing console errors
Any debug we can active to test this connexion bug?
You can use DEBUGF_NETWORK or DEBUGF_PACKETS on sphere.ini, but these debug flags only works on debug build, which is not compiled automatically so you must follow the steps on GitHub page to compile it manually
Note that debug build doesn't optimize core functions at compiler level and it also have some extra debug stuff that will slow down server performance, so it's only recommended use debug builds for testing
Just to make sure, this still happening on latest build?
I think we found a cause of this. When we modify sphere.ini and doing a resync. Its seem to be impossible to new client to connect. All client already connect are ok
Sounds weird, are you changing some specific setting or it happen on any resync? I'm testing using an empty server (latest build + latest script pack + latest client 7.0.83.27) and it seems to be working fine
...
Startup complete (Items=85, Chars=5, Accounts=2)
Use '?' to view available console commands
01:14:0:Client connected [Total:1] ('127.0.0.1' 1/1)
01:14:0:Login 'test'
01:14:0:Client disconnected [Total:0] ('127.0.0.1', acct='test')
01:14:1:Client connected [Total:1] ('127.0.0.1' 1/2)
01:14:1:Login 'test'
01:14:1:Account 'test' logged on char 'Testing' ('127.0.0.1')
01:14:1:Client disconnected [Total:0] ('127.0.0.1', acct='test')
Server is being PAUSED for Resync
Resync Restart
WARNING:Resource 'sphere.ini' changed, resync.
Indexing 194 scripts...
Done loading scripts (53 of 200 triggers used)
Resync complete!
01:14:2:Client connected [Total:1] ('127.0.0.1' 1/1)
01:14:2:Login 'test'
01:14:3:Client connected [Total:2] ('127.0.0.1' 1/2)
01:14:2:Client disconnected [Total:1] ('127.0.0.1', acct='test')
01:14:3:Login 'test'
01:14:3:Account 'test' logged on char 'Testing' ('127.0.0.1')
For example I activated this setting :
// COMBATF_ALLOWHITFROMSHIP 00040 // Allow attacking opponents from ships
and resync .ini. Player who already log in have not problem but you can't connect and have this message : "There is some problem communicating with Origin. Please restart Ultima Online and try again."
I changed this line and did a resync.
// Only commands issued by this plevel and higher will be logged
CommandLog=0
And a reboot was require because nobody was able to connect
The problem is when you resync the ini the SERVIP going back to original value (127.0.0.1). You have to change the IP on SERVIP in ini or add this :
[FUNCTION f_onserver_timer] // This function is called periodically at every X minutes (value is defined on TimerCall setting of sphere.ini). SERVIP=youradresseip,port
We have a random problem with connection, sometimes all the players can't connect to the shard. You see the shard name on first screen after login, but server jam and you have the message "There is some problem communicating with Origin. Please restart Ultima Online and try again."
In console sometime there no message, only saw account log in and disconnect. Today got a critical just before the problem came.
Only solution for having it work it's to restart the server.
It's very problematic right now with a live server.
Thanks for your help