Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Need someone to make me a dll

Experienced Elementalist
Joined
Jul 3, 2020
Messages
299
Reaction score
24
Hi all i have a following problems:
error-L1 : CloseClient INVALID_SOCKET
Error Thread : GetQueueCompletionStatus( 121 )
So please if someone CAN and WANT to help me, by creating a dll Visual C++ who contains a fix of these well know bugs who i will attach with dlib attacher to my gameserver
Thanks :dancemental::dancemental:
edit: my gameserver is 97d
 
Joined
Oct 8, 2006
Messages
740
Reaction score
289
Can you fix a car without knowing the car's model or looking at the car? I don't think so. :eek:tt1:

Would be great if you tell us more details, like:

- When the error is appearing?
- Can you reproduce the error?
- What symptoms do you have after that error?
- Do you have the source code for your 97D repack?
- A link to the server files would be great.

First, in order to create a DLL for your gameserver, you will need to identify where's the problem and why the error is happening. (Every error message is there for a reason).
After you identified the problems and what's causing them, you can detour the functions at a specific memory address, but probably you won't fix it even with a DLL.

You need to do some RE in order to figure out where the gameserver and when is throwing the messages, then you will need to see in what memory address that specific data is stored, also what data registry is doing that (There are more data registries on x64 then x32 so in this case, things can get more complicated).

So, what are you asking us is to reverse engineer the Game Server and fix the problem from outside of the executable's process by making a DLL, right?

Edit:

Another question: What OS are you using and what Service Pack (SP)?

I found that others are having a similar problem, but you are using 2009 or older files.

Check this thread: https://forum.ragezone.com/f196/getqueuedcompletionstatus-errors-gs-cs-win2k3-511364/index5.html

Also, KarLi responded to this in 2015:
The most clear solution for this issue i ever experienced was:
1. use windows server 2003 sp1
2. use other files.
3. maybe - use other joinserver and connectserver.
 
Last edited:
Upvote 0
Experienced Elementalist
Joined
Jul 3, 2020
Messages
299
Reaction score
24
The reverse enginering of 97d is alredy maked and i see in a lot of guides how to fix this error by using a ollydbg but me noob and can't do it for that i just want someone to do it for me a dll file with that corrections i see this codes are alredy well knows for the error ..
example: https://forum.ragezone.com/f196/getqueuedcompletionstatus-errors-gs-amp-cs-641721/
but me noob cant make that with ollydbg me can attach a dll file with that maked :)
after some time 12-24 hours this sh*t happens and all players disconnect and loading infinity progress bar cant open socked tried everything notthing helps changed cpu dount to 0 to 4 too 1004 and etc. but nothing help me have 2 different servers with the same os and server files no problem but this sh*t happens if you expert's can tell me WHY ?
edit2: no error in cs js ... only gs
 
Last edited:
Upvote 0
Experienced Elementalist
Joined
Jul 3, 2020
Messages
299
Reaction score
24
edit 3 why you ask when you see it ...Yes this is it so tell me please how to fix this loading bar when enter acc and pass infinity loading bar cant connect users error l1 ????????? edit: me noob i see in this forum also correct me if im wrong for a this type of errors can create a dll fire to correct them so that what i want because i cant use ollydbg cuz me dont understand in this category c++ .. me understand php and apache develop. can someone give me a dll to fix this or a fixed this gameserver please ? so .. ? big thing happens ? pls ? :) this hapens sometimes after 1 hour after 12 hour after 24 hour ... error l1 close socket and this what i say in the first post help please !!!!!!!!!!!!!!!



error-L1 : CloseClient INVALID_SOCKET
error-L1 : CloseClient INVALID_SOCKET
error-L1 : CloseClient INVALID_SOCKET ..................... i think this can cause the d/c after 12-24 hours and cant connect infinity loading bar ...
 
Upvote 0
Joined
Oct 8, 2006
Messages
740
Reaction score
289
Because there are few game server links posted by others in 2009/2011... that's why I'm asking. I don't know what GS you are using.

Anyway, that's not C++, that's ASM (Assembly language).

It's happening because the game server was badly developed. The Thread is exiting with an error because something happened during the runtime. It can be a million of things.


BAVKAMU - Need someone to make me a dll - RaGEZONE Forums


0043EEA1 |. FF15 9C153107 |CALL DWORD PTR DS:[<&KERNEL32.GetQueuedCompletionStatus>] ----> This is from Kernel32, not from your GameServer. Again: your problem is coming from the game server's threads, which for you is exiting with error 79 (121).


error-L1 : CloseClient INVALID_SOCKET ---> The client is forced to be disconnected by the GameServer and some other functions are checking the User too, so it will try to disconnect it again and so this error is appearing.

The disconnection is caused by the user's thread inside the Game Server. Error 121.
 
Last edited:
Upvote 0
Experienced Elementalist
Joined
Jul 3, 2020
Messages
299
Reaction score
24
0043EEA1 |. FF15 9C153107 |CALL DWORD PTR DS:[<&KERNEL32.GetQueuedCom ....... so pls help me me total noob can you fix this gs for me i can upload it me cant work with ollydbg pls fix my gs https://mega.nz/file/z2oCzYoD#xJ5BQIK-XOjsyoZ_5SDNUtDaYpGgUAYBhBavrRK_cAc .... edit: i will add you in the copyrights on the server website for the help! Respect the WOrk of the others ! HELPS PLS !
 
Upvote 0
Joined
Oct 8, 2006
Messages
740
Reaction score
289
Inspecting this, I found that the guide you've sent me, that's not even a fix. It's an attempt of a workaround. The GameServer will still be crashing.

What that guide it does is:

You have CMP DWORD PTR SS:[EBP-30] which is telling you that the pointer at address EBP-30 is an integer var type.

In C++, the instruction would be like if (*integerPointer == 0x03E3)
He's just doing a jump to a unoccupied section code and making a new comparing between a simple integer with another integer value, not a pointer. CMP [DWORD SS:EBP-30], 3E3

In C++, would be like if(integer == 0x03E3)

That's not a fix
because the error is coming from GetQueuedCompletionStatus, inside the Kernel32.dll, also, coming from GetLastError.



The problem is that your gameserver is having a thread problem. Somewhere, the thread is closed because something happened with it, like GetQueuedCompletionStatus returned FALSE resulting in Client Disconnection + GetLastError returned an error code which is exactly what's happening in your GameServer for a million of possible reasons and which is very hard to trial and error it.

The only fix is: Use a GameServer with a source code available and recompile it under a newer OS and also stop using old deprecated 97D repacks which are totally incompatible with newer OS' and incompatible with newer NET Frameworks.

GetQueuedCompletionStatus is a symptom, not the reason of your error in the Game Server.
error-L1 : CloseClient INVALID_SOCKET is another symptom which is coming from the Thread errors (it can be anywhere in the stack during runtime).

Do not ever fix symptoms. xD


Update:

How do you host your server? Home PC or you have a VPS?

Error 121 from Error Thread : GetQueueCompletionStatus( 121 ) can be related to WSASend taking too long to send the information between GS and clients. This error is a TIMEOUT error (ERROR_SEM_TIMEOUT). So, it can actually be your PC/Internet bottlenecking in some point after some time. It can also be a bad IOCP integration in the GS.
 
Last edited:
Upvote 0
Experienced Elementalist
Joined
Jul 3, 2020
Messages
299
Reaction score
24
moremore more more edit: i also tried to run gs/joinserver/cs with a combapability mode Windows 2000 windows server 2003windows xp sp 3 nothing helps windows nt also try not work i read this might help but not help too! ...


more more more edit: i see this dude who are wolf something are uploading in another forum also files lik this wth also this L1 invalid socked fixed ... also i see a lot of a lot alot a more a lot of server files this version with that fixed for this i think someone can fix it and for that i want help someone to help me pls if he can of course!
more edit: me see Gembird guide how to do it but me cant do nothing with ollydbg! can yoou do it for me pls i give the gs link ....

me use VPS also hese fixes who you talk to me i - look like a monkey and dont understand nothing can you input some of these fixed in my GS if can pls ? i try set cores to 1 and after that to 4 and set affiaty to gs to work wit only core 0 of the cpu and again that happens i also tried a sql query the same thing

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[MEMB_STAT_GJ]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[MEMB_STAT_GJ]GOCREATE TABLE [dbo].[MEMB_STAT_GJ] ([memb___id] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,[name] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,[ServerName] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,[ServerCode] [int] NULL ,[IP] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,[TM] [datetime] NULL) ON [PRIMARY]GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[WZ_CONNECT_MEMB]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [dbo].[WZ_CONNECT_MEMB]GOSET QUOTED_IDENTIFIER ONGOSET ANSI_NULLS OFFGOCREATE PROCEDURE WZ_CONNECT_MEMB@uid varchar(10) @Server varchar(20),@uip varchar(20)ASBeginBEGIN TRANSACTIONSET NOCOUNT ONIF EXISTS ( SELECT memb___id FROM MEMB_STAT WITH (READUNCOMMITTED) WHERE memb___id = @uid )BeginUPDATE MEMB_STATSET ip = @uip , connectstat = 1 , servername = @Server , ConnectTM = (getdate())WHERE memb___id = @uidEndELSEBeginINSERT INTO MEMB_STAT ( memb___id,ip,connectstat,servername)valueS (@uid,@uip,1 @Server )EndIF(@@Error <> 0 )ROLLBACK TRANSACTIONELSECOMMIT TRANSACTION--写入登录记录IF EXISTS ( SELECT UserID FROM UserLogin WITH (READUNCOMMITTED) WHERE UserID = @uid )BeginUPDATE UserLoginSET LoginIP=@uip,Server @Server,LoginTM = (getdate()),OnlineSec=0,GiveMoney=0,logoutTM=nullWHERE UserID = @uidEndELSEBeginINSERT INTO UserLogin (UserID,LoginIP,Server,LoginTM,OnlineSec,GiveMoney )values (@uid,@uip @Server,getdate(),0,0)End--自动封服务器不准进入的人物declare @smallestZS intdeclare @LargestZS intdeclare @Type intselect @Type=Type from SetServerList where ServerName @Serverif (@Type>0) beginselect @smallestZS=Smallest_ZS from SetServerList where ServerName @Serverselect @LargestZS=Largest_ZS from SetServerList where ServerName @Serverif not @smallestZS is null) beginupdate character set ctlcode=(ctlcode | 0x81) where [name] not in(SELECT NAME FROM WEB_ZS WHERE (ACC = @uid) AND (ZSCS >= @LargestZS) AND (ZSCS <= @smallestZS)) AND (AccountID = @uid)endendDELETE FROM MEMB_STAT_GJ WHERE (memb___id = @uid and servername @Server)update character set ctlcode=(ctlcode | 0x81) where [name] in(SELECT name FROM MEMB_STAT_GJ WHERE (memb___id = @uid)) AND (AccountID = @uid)SET NOCOUNT OFFEndGOSET QUOTED_IDENTIFIER OFFGOSET ANSI_NULLS ONGO

this query dont work too..... help sollution pls
edit: i see a lot of files 97d who have These bugs fixed for that ithink is a well know bug who a lot of the most understanding progamers know and its easy to fix by dude who know what he doing but i se a lot of fihes have these bug fixed but i dont want to change the files !
 
Last edited:
Upvote 0
Experienced Elementalist
Joined
Jul 3, 2020
Messages
299
Reaction score
24
Thanks me will try it Right now
edit: after 5 min online gs crash and all come back 5 min before crash ... but anyway thanks for trying help me
BAVKAMU - Need someone to make me a dll - RaGEZONE Forums

BAVKAMU - Need someone to make me a dll - RaGEZONE Forums
 
Last edited:
Upvote 0
Experienced Elementalist
Joined
Jul 3, 2020
Messages
299
Reaction score
24
tried only in compatibility mode ... no have .dmp only log file txt ...
 
Upvote 0
Experienced Elementalist
Joined
Jul 3, 2020
Messages
299
Reaction score
24
very big thanks i will try it after a while i try everything in the forum expect the ollydbg things and nothings helps now i change the JoinServer port, and now wait to cant connect to gs again when this happens i will try it thanks, also i will add your to the copyrights of my server for the help thanks so after this bug happens again and infinity loading bar come back i will try with that gs who you give me the last one and in every case i will write again what happens
edit: the most big fun will be if i wait 48 hours without this problems happens and that mean L1 error connection close socked invalid will be about the joinserver port :D :D :D :D :D: :D :D :D but i dont think so this bug who i say in my first posts and for what i want help happens sometime after 2 hours or 12 hours or after 24 hours ..... i will wait and i will write when it happens :blushing:

more edit: when my problems happens every players get dc and in website shows 0 online and when try to connect infinity loading bar ... now i will wait to see what will happens and when happen again i will try your new gs thanks



i try the new gs - a lot of errors l1 l3 ... error loading shops ... bla bla .... soruce ...-laptop .... this is very old gs not that what i upload and i cant start it
 
Upvote 0
Joined
Oct 8, 2006
Messages
740
Reaction score
289
Yes, the errors are because the Data folder should be in the GameServer folder.

Don't think about the Invalid_Socket error. That's a normal error when the server thread is closed.

Yes, problems can exists on Join Server too. Join Server used on 97D files, I think is the oldest version compiled. The Join Server acts like a bridge for users to connect to GameServer.



Don't think too much about Closed Socket error. That's not an error. If the server thread is closed for some reason, it will force the users to close the socket.
 
Upvote 0
Experienced Elementalist
Joined
Jul 3, 2020
Messages
299
Reaction score
24
right now me try with new connect server
edit: me dont wrry about close socked me worry about disconnect all and infinity loading bar after that cant connect ..
 
Upvote 0
Experienced Elementalist
Joined
Jul 3, 2020
Messages
299
Reaction score
24
for all who have l1 socket close error just know its not your windows problem its a server files problem so change the server files that will be the fix .... if i have no more that problem - that must be the fix!
 
Upvote 0
Back
Top