How to fix "error-L1 : CloseClient INVALID_SOCKET"
Hello RZ.
Today you can know how to fix this annoying and sometimes strange for ppl own servers.
First, is not a gs problem, cs problem , or wrong configured ips, neither the customer, nor the files.
Is a problem between the OS and databases, which are complementary.
SS:
http://img293.imageshack.us/img293/2574/gsaq1tf9.jpg
Example of gameserver log:
Quote:
17:00:32 connect : [4806][201.255.22.210]
17:00:33 connect : [4807][190.224.207.143]
17:00:43 connect : [4808][201.250.238.79]
17:00:53 (4803)logout : [201.250.190.27]
error-L1 : CloseClient INVALID_SOCKET
17:00:53 connect : [4809][190.224.207.253]
error-L1 : CloseClient INVALID_SOCKET
17:00:56 connect : [4810][200.29.248.26]
17:00:57 connect : [4811][201.254.76.67]
17:00:59 join send : (4811)maxxxx
error-L1 : CloseClient INVALID_SOCKET
17:00:59 login [201.254.76.67] : [maxxxx] numer:12791/ db:1
17:00:59 [maxxxx][] BillType : (3)
U need use this jobs in Query Analizer to fix it.
Quote:
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]
GO
CREATE 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]
GO
Quote:
if 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]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE WZ_CONNECT_MEMB
@uid varchar(10),
@server varchar(20),
@uip varchar(20)
AS
Begin
BEGIN TRANSACTION
SET NOCOUNT ON
IF EXISTS ( SELECT memb___id FROM MEMB_STAT WITH (READUNCOMMITTED) WHERE memb___id = @uid )
Begin
UPDATE MEMB_STAT
SET ip = @uip , connectstat = 1 , servername = @server , ConnectTM = (getdate())
WHERE memb___id = @uid
End
ELSE
Begin
INSERT INTO MEMB_STAT ( memb___id,ip,connectstat,servername)
valueS (@uid,@uip,1,@server )
End
IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
--写入登录记录
IF EXISTS ( SELECT UserID FROM UserLogin WITH (READUNCOMMITTED) WHERE UserID = @uid )
Begin
UPDATE UserLogin
SET LoginIP=@uip,Server=@server,LoginTM = (getdate()),OnlineSec=0,GiveMoney=0,logoutTM=null
WHERE UserID = @uid
End
ELSE
Begin
INSERT INTO UserLogin (UserID,LoginIP,Server,LoginTM,OnlineSec,GiveMoney )
values (@uid,@uip,@server,getdate(),0,0)
End
--自动封服务器不准进入的人物
declare @SmallestZS int
declare @LargestZS int
declare @Type int
select @Type=Type from SetServerList where ServerName=@server
if (@Type>0) begin
select @SmallestZS=Smallest_ZS from SetServerList where ServerName=@server
select @LargestZS=Largest_ZS from SetServerList where ServerName=@server
if not (@SmallestZS is null) begin
update 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)
end
end
DELETE 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 OFF
End
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
Clarification:
On Windows 2003 SP2 you'll get this problem.
On Vista too.
I hope this guide helped you.
Re: [Guide] How to fix "error-L1 : CloseClient INVALID_SOCKET"
great it works ^^
Quote:
Originally Posted by
juliom
On Vista too.
offtopic: why am i not suprised lol :o
Re: [Guide] How to fix "error-L1 : CloseClient INVALID_SOCKET"
this guide is useless.. that dont work for any files anymore.. TESTED
i still have CloseClient INVALID_SOCKET when player disconnnects
btw, anyone know why nobody cant connect to my serv anymore lol
they can go normally up to acc/pass window but when hit click client DC's, i can connect normally
Re: [Guide] How to fix "error-L1 : CloseClient INVALID_SOCKET"
Quote:
Originally Posted by
juliom
Is a problem between the OS and databases, which are complementary.
yeah ) right , and if i will say that GameServer doesnt connect to database ? :closedeyes:
Re: [Guide] How to fix "error-L1 : CloseClient INVALID_SOCKET"
Hmmm... lemme make a guide ^^
If you want Season 4 bugless with all features, do this:
Set experience to 99999999999999999999999x:
Go to MuOnline -> Character -> Right click -> Drop Table
Make a link to the gameserver.exe use 666.666.666.666 as startup paramete
And tadam!
:thumbdown:
Re: [Guide] How to fix "error-L1 : CloseClient INVALID_SOCKET"
Quote:
Originally Posted by
juliom
Hello RZ.
Today you can know how to fix this annoying and sometimes strange for ppl own servers.
First, is not a gs problem, cs problem , or wrong configured ips, neither the customer, nor the files.
Is a problem between the OS and databases, which are complementary.
SS:
http://img293.imageshack.us/img293/2574/gsaq1tf9.jpg
Example of gameserver log:
U need use this jobs in Query Analizer to fix it.
Clarification:
On Windows 2003 SP2 you'll get this problem.
On Vista too.
I hope this guide helped you.
where did u get this? im not sure if i should use it...
Re: [Guide] How to fix "error-L1 : CloseClient INVALID_SOCKET"
i think this applys to windows 2003 sp2 only.
Re: [Guide] How to fix "error-L1 : CloseClient INVALID_SOCKET"
Quote:
Originally Posted by
starmu
i think this applys to windows 2003 sp2 only.
yeah i know.. but i mean does it really work?
Re: [Guide] How to fix "error-L1 : CloseClient INVALID_SOCKET"
Quote:
Originally Posted by
KREATOR
yeah i know.. but i mean does it really work?
same here:) does it really works?
Re: [Guide] How to fix "error-L1 : CloseClient INVALID_SOCKET"
Quote:
Originally Posted by
ginalyn
same here:) does it really works?
i got another question too... do i have to run it just one time? or do i have to run it in the sql jobs and make run like every 1 min?
Re: [Guide] How to fix "error-L1 : CloseClient INVALID_SOCKET"
Guys don't you get it?... that error has nothing to do with the DB.
Re: [Guide] How to fix "error-L1 : CloseClient INVALID_SOCKET"
Quote:
Originally Posted by
*HK*
great it works ^^
...
Re: [Guide] How to fix "error-L1 : CloseClient INVALID_SOCKET"
easy to fix it Install Windows Server 2003 Ent SP 1
Re: [Guide] How to fix "error-L1 : CloseClient INVALID_SOCKET"
Quote:
Originally Posted by
Ragnaros
Guys don't you get it?... that error has nothing to do with the DB.
I KNOW THAT!! What i wanna know is what exactly this does...
Re: [Guide] How to fix "error-L1 : CloseClient INVALID_SOCKET"
Quote:
Originally Posted by
KREATOR
I KNOW THAT!! What i wanna know is what exactly this does...
its just because of some 'security' in the new sp2 on win2003 server.. cannot be thrown off tho