Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setting up of the server #19

Open
Sonicyip opened this issue Dec 22, 2019 · 8 comments
Open

Setting up of the server #19

Sonicyip opened this issue Dec 22, 2019 · 8 comments

Comments

@Sonicyip
Copy link

Sonicyip commented Dec 22, 2019

Does anyone know how to handle this error? This happens when I select the server in the game.

2019/12/27 01:49:03 Unhandled exception from Server:
System.Collections.Generic.KeyNotFoundException: 指定的索引鍵不在字典中。
於 System.Collections.Generic.Dictionary`2.get_Item(TKey key)
於 Server.Common.Data.Meta.IsDate(String tableName, String fieldName) 於 F:\Ghostonline\server setup\Ghost-master\Server\Common\Data\Meta.cs: 行 46
於 Server.Common.Data.Datum.TrySetMember(SetMemberBinder binder, Object value) 於 F:\Ghostonline\server setup\Ghost-master\Server\Common\Data\Datum.cs: 行 263
於 CallSite.Target(Closure , CallSite , Object , DateTime )
於 System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1)
於 Server.Accounts.Account.Save() 於 F:\Ghostonline\server setup\Ghost-master\Server\LoginServer\Accounts\Account.cs: 行 64
於 Server.Ghost.Client.Unregister() 於 F:\Ghostonline\server setup\Ghost-master\Server\LoginServer\Net\Client.cs: 行 65
於 Server.Common.Net.Session.Dispose() 於 F:\Ghostonline\server setup\Ghost-master\Server\Common\Net\Session.cs: 行 288
於 Server.Common.Net.Session.EndReceive(IAsyncResult ar) 於 F:\Ghostonline\server setup\Ghost-master\Server\Common\Net\Session.cs: 行 128
於 System.Net.LazyAsyncResult.Complete(IntPtr userToken)
於 System.Net.ContextAwareResult.CompleteCallback(Object state)
於 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
於 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
於 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
於 System.Net.ContextAwareResult.Complete(IntPtr userToken)
於 System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
於 System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
於 System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

@ksh00210
Copy link

me too..

@ksh00210
Copy link

fix

@YourBigDad
Copy link

just need to update your MySQL version or update your MySql.Data.dll version. but who can tell me which port with client use? I can't log in to the game. (i use the MySQL 8.0, the DLL version is 8.0.20. and I used charset utf8 in connect string it's same to MySQL charset)

@YourBigDad
Copy link

Does anyone know how to handle this error? This happens when I select the server in the game.

2019/12/27 01:49:03 Unhandled exception from Server:
System.Collections.Generic.KeyNotFoundException: 指定的索引鍵不在字典中。
於 System.Collections.Generic.Dictionary`2.get_Item(TKey key)
於 Server.Common.Data.Meta.IsDate(String tableName, String fieldName) 於 F:\Ghostonline\server setup\Ghost-master\Server\Common\Data\Meta.cs: 行 46
於 Server.Common.Data.Datum.TrySetMember(SetMemberBinder binder, Object value) 於 F:\Ghostonline\server setup\Ghost-master\Server\Common\Data\Datum.cs: 行 263
於 CallSite.Target(Closure , CallSite , Object , DateTime )
於 System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1)
於 Server.Accounts.Account.Save() 於 F:\Ghostonline\server setup\Ghost-master\Server\LoginServer\Accounts\Account.cs: 行 64
於 Server.Ghost.Client.Unregister() 於 F:\Ghostonline\server setup\Ghost-master\Server\LoginServer\Net\Client.cs: 行 65
於 Server.Common.Net.Session.Dispose() 於 F:\Ghostonline\server setup\Ghost-master\Server\Common\Net\Session.cs: 行 288
於 Server.Common.Net.Session.EndReceive(IAsyncResult ar) 於 F:\Ghostonline\server setup\Ghost-master\Server\Common\Net\Session.cs: 行 128
於 System.Net.LazyAsyncResult.Complete(IntPtr userToken)
於 System.Net.ContextAwareResult.CompleteCallback(Object state)
於 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
於 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
於 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
於 System.Net.ContextAwareResult.Complete(IntPtr userToken)
於 System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
於 System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
於 System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

just need to update your MySQL version or update your MySql.Data.dll version. but who can tell me which port with client use? I can't log in to the game. (i use the MySQL 8.0, the DLL version is 8.0.20. and I used charset utf8 in connect string it's same to MySQL charset)

@YourBigDad

@hichay
Copy link

hichay commented Sep 2, 2020

just need to update your MySQL version or update your MySql.Data.dll version. but who can tell me which port with client use? I can't log in to the game. (i use the MySQL 8.0, the DLL version is 8.0.20. and I used charset utf8 in connect string it's same to MySQL charset)

can you read this
AM System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary2.get_Item(TKey key)
at MySql.Data.MySqlClient.CharSetMap.GetCharacterSet(DBVersion version, String CharSetName)
at MySql.Data.MySqlClient.MySqlField.SetFieldEncoding()
at MySql.Data.MySqlClient.MySqlField.SetTypeAndFlags(MySqlDbType type, ColumnFlags flags)
at MySql.Data.MySqlClient.NativeDriver.GetColumnData(MySqlField field)
at MySql.Data.MySqlClient.NativeDriver.GetColumnsData(MySqlField[] columns)
at MySql.Data.MySqlClient.Driver.GetColumns(Int32 count)
at MySql.Data.MySqlClient.ResultSet.LoadColumns(Int32 numCols)
at MySql.Data.MySqlClient.ResultSet..ctor(Driver d, Int32 statementId, Int32 numCols)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlDataReader.Close()
at MySql.Data.MySqlClient.MySqlConnection.Close()
at MySql.Data.MySqlClient.MySqlHelper.ExecuteReader(String connectionString, String commandText, MySqlParameter[] commandParameters)
at MySql.Data.MySqlClient.MySqlHelper.ExecuteReader(String connectionString, String commandText)
at Server.Common.Data.Datums.PopulateInternal(String fields, String constraints) in D:\Ghostsv\Server (1)\Ghost-master\Server\Common\Data\Datum.cs:line 26
at Server.Common.Data.Datums.Populate() in D:\Ghostsv\Server (1)\Ghost-master\Server\Common\Data\Datum.cs:line 64
at Server.Ghost.Provider.MobFactory.InitializeMonsterDrop() in D:\Ghostsv\Server (1)\Ghost-master\Server\GameServer\Ghost\Provider\MobFactory.cs:line 1819
at Server.GameServer.Main(String[] args) in D:\Ghostsv\Server (1)\Ghost-master\Server\GameServer\GameServer.cs:line 128`

@Neoska
Copy link

Neoska commented Mar 6, 2021

just need to update your MySQL version or update your MySql.Data.dll version. but who can tell me which port with client use? I can't log in to the game. (i use the MySQL 8.0, the DLL version is 8.0.20. and I used charset utf8 in connect string it's same to MySQL charset)

can you read this
AM System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary2.get_Item(TKey key)
at MySql.Data.MySqlClient.CharSetMap.GetCharacterSet(DBVersion version, String CharSetName)
at MySql.Data.MySqlClient.MySqlField.SetFieldEncoding()
at MySql.Data.MySqlClient.MySqlField.SetTypeAndFlags(MySqlDbType type, ColumnFlags flags)
at MySql.Data.MySqlClient.NativeDriver.GetColumnData(MySqlField field)
at MySql.Data.MySqlClient.NativeDriver.GetColumnsData(MySqlField[] columns)
at MySql.Data.MySqlClient.Driver.GetColumns(Int32 count)
at MySql.Data.MySqlClient.ResultSet.LoadColumns(Int32 numCols)
at MySql.Data.MySqlClient.ResultSet..ctor(Driver d, Int32 statementId, Int32 numCols)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlDataReader.Close()
at MySql.Data.MySqlClient.MySqlConnection.Close()
at MySql.Data.MySqlClient.MySqlHelper.ExecuteReader(String connectionString, String commandText, MySqlParameter[] commandParameters)
at MySql.Data.MySqlClient.MySqlHelper.ExecuteReader(String connectionString, String commandText)
at Server.Common.Data.Datums.PopulateInternal(String fields, String constraints) in D:\Ghostsv\Server (1)\Ghost-master\Server\Common\Data\Datum.cs:line 26
at Server.Common.Data.Datums.Populate() in D:\Ghostsv\Server (1)\Ghost-master\Server\Common\Data\Datum.cs:line 64
at Server.Ghost.Provider.MobFactory.InitializeMonsterDrop() in D:\Ghostsv\Server (1)\Ghost-master\Server\GameServer\Ghost\Provider\MobFactory.cs:line 1819
at Server.GameServer.Main(String[] args) in D:\Ghostsv\Server (1)\Ghost-master\Server\GameServer\GameServer.cs:line 128`

If you get this problem when selecting channel and login(if everything running well,channel 1 SHOULD NOT be "維護中")
,try inputing 14101 in the GameServer.exe window and then press enter.And don't forget set lower_case_table_names=1 in your Mysql server(in Mysql5.7 it's set to 0 by default).I got the same problem and then found a youtube video(https://youtu.be/a554a7wj7U4) about how to run this server.Good luck.

@rkrk5050
Copy link

rkrk5050 commented Mar 8, 2021

just need to update your MySQL version or update your MySql.Data.dll version. but who can tell me which port with client use? I can't log in to the game. (i use the MySQL 8.0, the DLL version is 8.0.20. and I used charset utf8 in connect string it's same to MySQL charset)

can you read this
AM System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary2.get_Item(TKey key)
at MySql.Data.MySqlClient.CharSetMap.GetCharacterSet(DBVersion version, String CharSetName)
at MySql.Data.MySqlClient.MySqlField.SetFieldEncoding()
at MySql.Data.MySqlClient.MySqlField.SetTypeAndFlags(MySqlDbType type, ColumnFlags flags)
at MySql.Data.MySqlClient.NativeDriver.GetColumnData(MySqlField field)
at MySql.Data.MySqlClient.NativeDriver.GetColumnsData(MySqlField[] columns)
at MySql.Data.MySqlClient.Driver.GetColumns(Int32 count)
at MySql.Data.MySqlClient.ResultSet.LoadColumns(Int32 numCols)
at MySql.Data.MySqlClient.ResultSet..ctor(Driver d, Int32 statementId, Int32 numCols)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlDataReader.Close()
at MySql.Data.MySqlClient.MySqlConnection.Close()
at MySql.Data.MySqlClient.MySqlHelper.ExecuteReader(String connectionString, String commandText, MySqlParameter[] commandParameters)
at MySql.Data.MySqlClient.MySqlHelper.ExecuteReader(String connectionString, String commandText)
at Server.Common.Data.Datums.PopulateInternal(String fields, String constraints) in D:\Ghostsv\Server (1)\Ghost-master\Server\Common\Data\Datum.cs:line 26
at Server.Common.Data.Datums.Populate() in D:\Ghostsv\Server (1)\Ghost-master\Server\Common\Data\Datum.cs:line 64
at Server.Ghost.Provider.MobFactory.InitializeMonsterDrop() in D:\Ghostsv\Server (1)\Ghost-master\Server\GameServer\Ghost\Provider\MobFactory.cs:line 1819
at Server.GameServer.Main(String[] args) in D:\Ghostsv\Server (1)\Ghost-master\Server\GameServer\GameServer.cs:line 128`

If you get this problem when selecting channel and login(if everything running well,channel 1 SHOULD NOT be "維護中")
,try inputing 14101 in the GameServer.exe window and then press enter.And don't forget set lower_case_table_names=1 in your Mysql server(in Mysql5.7 it's set to 0 by default).I got the same problem and then found a youtube video(https://youtu.be/a554a7wj7U4) about how to run this server.Good luck.

i set lower_case_table_names=1(mysql 5.7.33) but still same error

@NgoDuy2197
Copy link

NgoDuy2197 commented Sep 14, 2023

IN my case it's working for version 5.6.17 and i copy all query to run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants