GithubHelp home page GithubHelp logo

cyphercore / cyphercore Goto Github PK

View Code? Open in Web Editor NEW
331.0 331.0 152.0 451.29 MB

CypherCore is an open source server project for World of Warcraft written in C#.

License: GNU General Public License v3.0

C# 100.00%

cyphercore's Introduction

CypherCore Build status

CypherCore is an open source server project for World of Warcraft written in C#.

The current support game version is: 10.2.5.53584

Prerequisites

  • .NET 8.0 SDK Download
  • MariaDB 10.6 or higher Download
  • Optional: Visual Studio 2022, Visual Studio Code or Jetbrains Rider

Server Setup

  • Download and Complie the Extractor Download Use TrinityCore extractors for now: Download
  • Run all extractors in the wow directory
  • Copy all created folders into server directory (ex: C:\CypherCore\Data)
  • Make sure Conf files are updated and point the the correct folders and sql user and databases

Installing the database

  • Download the full Trinity Core database (TDB 1025.24021) Download
  • Extract the sql files into the core sql folder (ex: C:\CypherCore\sql)

Playing

  • Must use Arctium WoW Client Launcher Download

Support / General Info

  • Check out our Discord Here
  • Check out Trinity Core Wiki as a few steps are the same Here

Legal

  • Blizzard, Battle.net, World of Warcraft, and all associated logos and designs are trademarks or registered trademarks of Blizzard Entertainment.
  • All other trademarks are the property of their respective owners. This project is not affiliated with Blizzard Entertainment or any of their family of sites.

cyphercore's People

Contributors

fabi avatar fagoatse avatar hondacrx avatar luigiellebalotta avatar maxtorcoder avatar riomcboo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cyphercore's Issues

Error while loading worldserver

Loading GameObject models...
Unable to open 'C:\Users\luigib\Documents\Visual Studio 2017\Projects\WoW\CypherCore\CypherCore\Build\Release\win-x64\Data/vmaps/GameObjectModels.dtree' file.

don't know exactly what is doing there but... I see that it look for the folder "vmaps" even if in the configuration file I disabled vmaps options

Unhandled exception on command "account create"

Freshly installed master, commit id: ea4014c
It should print error message instead of crashing
See log:

Cypher>> account create a
CallingMember: UnhandledExceptionHandler ExceptionMessage: Exception has been thrown by the target of an invocation.
Unhandled exception. System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Game.AccountManager.CreateAccount(String username, String password, String email, UInt32 bnetAccountId, Byte bnetIndex) in /source/Source/Game/Accounts/AccountManager.cs:line 45
   at Game.Chat.AccountCommands.HandleAccountCreateCommand(CommandHandler handler, String accountName, String password, String email) in /source/Source/Game/Chat/Commands/AccountCommands.cs:line 98
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at Game.Chat.ChatCommandNode.Invoke(CommandHandler handler, StringArguments args) in /source/Source/Game/Chat/CommandManager.cs:line 406
   at Game.Chat.ChatCommandNode.TryExecuteCommand(CommandHandler handler, String cmdStr) in /source/Source/Game/Chat/CommandManager.cs:line 223
   at Game.Chat.CommandHandler._ParseCommands(String text) in /source/Source/Game/Chat/CommandHandler.cs:line 65
   at Game.Chat.ConsoleHandler.ParseCommands(String str) in /source/Source/Game/Chat/CommandHandler.cs:line 756
   at Game.Chat.CommandManager.InitConsole() in /source/Source/Game/Chat/CommandManager.cs:line 139
   at System.Threading.Thread.StartHelper.Callback(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Thread.StartCallback()

Login Issue

Logging with my credentials:

username: test@test
psw: test

What happen?
You have been disconnected (BLZ51901021)

I have used WoW_Patched.exe + cypher_bundle.txt

Server.cs:line 60 WorldManager.cs:line 401

/\  _`\                 /\ \
\ \ \/\_\  __  __  _____\ \ \___      __   _ __
 \ \ \/_/_/\ \/\ \/\ '__`\ \  _ `\  /'__`\/\`'__\
  \ \ \L\ \ \ \_\ \ \ \L\ \ \ \ \ \/\  __/\ \ \/
   \ \____/\/`____ \ \ ,__/\ \_\ \_\ \____\\ \_\
    \/___/  `/___/> \ \ \/  \/_/\/_/\/____/ \/_/
               /\___/\ \_\
               \/__/  \/_/                   Core
https://github.com/CypherCore/CypherCore

Connected to MySQL(ver: 5.5.5-10.4.15-MariaDB-log) Database: 1_auth
Connected to MySQL(ver: 5.5.5-10.4.15-MariaDB-log) Database: 1_characters
Connected to MySQL(ver: 5.5.5-10.4.15-MariaDB-log) Database: 1_world
Connected to MySQL(ver: 5.5.5-10.4.15-MariaDB-log) Database: 1_hotfixes
Updating 1_auth database...
1_auth database is up-to-date! Containing 15 new and 178 archived updates.
Updating 1_characters database...
1_characters database is up-to-date! Containing 7 new and 105 archived updates.
Updating 1_world database...
1_world database is up-to-date! Containing 374 new and 3159 archived updates.
Updating 1_hotfixes database...
1_hotfixes database is up-to-date! Containing 67 new and 301 archived updates.
Realm running as realm ID 1
Using World DB: TDB 837.20101
Will clear `logs` table of entries older than 1209600 seconds every 10 minutes.
Client cache version set to: 0
Using enUS DBC Locale
Using DataDir ./Data
WORLD: MMap data directory is: ./Data\mmaps
VMap support included. LineOfSight: True, getHeight: True, indoorCheck: True
VMap data directory is: ./Data\vmaps
Loading Cypher Strings...
Loaded 979 CypherStrings in 12 ms
Initialize DataStorage...
CallingMember: UnhandledExceptionHandler ExceptionMessage: Object reference not set to an instance of an object.
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
   at Game.WorldManager.SetInitialWorldSettings() in C:\Visual Studio Files\CypherCore\Source\Game\Server\WorldManager.cs:line 401
   at WorldServer.Server.Main() in C:\Visual Studio Files\CypherCore\Source\WorldServer\Server.cs:line 60

Non english client crash

enUS client works
But if set in Config.wtf
SET textLocale "ruRU"
SET audioLocale "ruRU"
or another lang
Client crash with error
It use too much memory
All ram used and client crash

Stack overflow during authentication

When I am trying to log into WoW I have stack overflow in BNetServer

Stack overflow.
Repeat 2 times:
--------------------------------
   at Interop+Winsock.WSARecv(System.Runtime.InteropServices.SafeHandle, System.Net.Sockets.WSABuffer*, Int32, Int32 ByRef, System.Net.Sockets.SocketFlags ByRef, System.Threading.NativeOverlapped*, IntPtr)
--------------------------------
   at System.Net.Sockets.SocketAsyncEventArgs.DoOperationReceiveSingleBuffer(System.Net.Sockets.SafeSocketHandle, System.Threading.CancellationToken)
   at System.Net.Sockets.Socket.ReceiveAsync(System.Net.Sockets.SocketAsyncEventArgs, System.Threading.CancellationToken)
   at System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs.ReceiveAsync(System.Net.Sockets.Socket, System.Threading.CancellationToken)
   at System.Net.Sockets.Socket.ReceiveAsync(System.Memory`1<Byte>, System.Net.Sockets.SocketFlags, Boolean, System.Threading.CancellationToken)
   at System.Net.Sockets.NetworkStream.ReadAsync(System.Memory`1<Byte>, System.Threading.CancellationToken)
   at System.Net.Security.SslStream+<ReadAsyncInternal>d__181`1[[System.Net.Security.AsyncReadWriteAdapter, System.Net.Security, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]].MoveNext()
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[System.Net.Security.SslStream+<ReadAsyncInternal>d__181`1[[System.Net.Security.AsyncReadWriteAdapter, System.Net.Security, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]], System.Net.Security, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]](<ReadAsyncInternal>d__181`1<System.Net.Security.AsyncReadWriteAdapter> ByRef)
   at System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1[[System.Int32, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Start[[System.Net.Security.SslStream+<ReadAsyncInternal>d__181`1[[System.Net.Security.AsyncReadWriteAdapter, System.Net.Security, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]], System.Net.Security, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]](<ReadAsyncInternal>d__181`1<System.Net.Security.AsyncReadWriteAdapter> ByRef)
   at System.Net.Security.SslStream.ReadAsyncInternal[[System.Net.Security.AsyncReadWriteAdapter, System.Net.Security, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]](System.Net.Security.AsyncReadWriteAdapter, System.Memory`1<Byte>)
   at System.Net.Security.SslStream.ReadAsync(Byte[], Int32, Int32, System.Threading.CancellationToken)
   at System.IO.Stream.ReadAsync(Byte[], Int32, Int32)
   at Framework.Networking.SSLSocket+<AsyncRead>d__9.MoveNext()
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Framework.Networking.SSLSocket+<AsyncRead>d__9, Framework, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]](<AsyncRead>d__9 ByRef)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Framework.Networking.SSLSocket+<AsyncRead>d__9, Framework, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]](<AsyncRead>d__9 ByRef)
   at Framework.Networking.SSLSocket.AsyncRead()
   at BNetServer.Networking.Session+<ReadHandler>d__27.MoveNext()
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[BNetServer.Networking.Session+<ReadHandler>d__27, BNetServer, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]](<ReadHandler>d__27 ByRef)

How can I solve this problem?

Starting World Server Error.

Loaded 0 CypherStrings. DB table trinity_string is empty.
Initialize DataStorage...
CallingMember: UnhandledExceptionHandler ExceptionMessage: Object of type 'System.UInt32' cannot be converted to type 'System.Int32[]'.
Unhandled exception. System.ArgumentException: Object of type 'System.UInt32' cannot be converted to type 'System.Int32[]'.
at System.RuntimeType.TryChangeType(Object value, Binder binder, CultureInfo culture, Boolean needsSpecialCast)
at System.Reflection.RtFieldInfo.SetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture)
at Game.DataStorage.WDC3Row.AsT in C:\Users*\Desktop*Source\CypherCore\Source\Game\DataStorage\ClientReader\DBReader.cs:line 411
at Game.DataStorage.DBReader.Read[T](BitSet availableDb2Locales, String db2Path, String fileName, HotfixStatements preparedStatement, HotfixStatements preparedStatementLocale, UInt32& loadedFileCount) in C:\Users*\Desktop*Source\CypherCore\Source\Game\DataStorage\ClientReader\DBReader.cs:line 58
at Game.DataStorage.CliDB.g__ReadDB2|0_0[T](String fileName, HotfixStatements preparedStatement, HotfixStatements preparedStatementLocale, <>c__DisplayClass0_0& ) in C:\Users*\Desktop*Source\CypherCore\Source\Game\DataStorage\CliDB.cs:line 50
at Game.DataStorage.CliDB.LoadStores(String dataPath, Locale defaultLocale) in C:\Users*\Desktop*Source\CypherCore\Source\Game\DataStorage\CliDB.cs:line 47
at Game.WorldManager.SetInitialWorldSettings() in C:\Users*\Desktop*Source\CypherCore\Source\Game\Server\WorldManager.cs:line 403
at WorldServer.Server.Main() in C:\Users*\Desktop*
Source\CypherCore\Source\WorldServer\Server.cs:line 60

Broken Extractors

Hey! First and foremost, congrats on this project.

Is there any chance the linked extractors on the README get an update? They no longer seem to support the newest retail build.

No client to download

How to use

Simply compile the solution as you do with TC c++ version.
Download full TC's DB and place into folder. Use the updates that you can find in this repo.
Edit BnetServer and WorldServer config files giving at least your Database Informations
Must use Arctium WoW Client Launcher Download

Arctium WoW Client no longer available

Exception on logon

Using the latest commit (56d9dc6) on authentication the following exception happens (I've removed earlier logs as they can contain sensitive data):

cyphercore-authserver-1     | Unhandled exception. Google.Protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).
cyphercore-authserver-1     |    at Google.Protobuf.ParsingPrimitives.ParseTag(ReadOnlySpan`1& buffer, ParserInternalState& state)
cyphercore-authserver-1     |    at Google.Protobuf.CodedInputStream.ReadTag()
cyphercore-authserver-1     |    at Bgs.Protocol.Account.V1.GetAccountStateRequest.MergeFrom(CodedInputStream input) in /source/Source/Framework/Proto/AccountService.cs:line 1270
cyphercore-authserver-1     |    at BNetServer.BnetServiceHandler.Invoke(Session session, UInt32 token, CodedInputStream stream) in /source/Source/BNetServer/Managers/LoginServiceManager.cs:line 160
cyphercore-authserver-1     |    at BNetServer.Networking.Session.ReadHandler(Byte[] data, Int32 receivedLength) in /source/Source/BNetServer/Networking/Session.cs:line 105
cyphercore-authserver-1     |    at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)
cyphercore-authserver-1     |    at System.Threading.QueueUserWorkItemCallback.<>c.<.cctor>b__6_0(QueueUserWorkItemCallback quwi)
cyphercore-authserver-1     |    at System.Threading.ExecutionContext.RunForThreadPoolUnsafe[TState](ExecutionContext executionContext, Action`1 callback, TState& state)
cyphercore-authserver-1     |    at System.Threading.QueueUserWorkItemCallback.Execute()
cyphercore-authserver-1     |    at System.Threading.ThreadPoolWorkQueue.Dispatch()
cyphercore-authserver-1     |    at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
cyphercore-authserver-1     |    at System.Threading.Thread.StartCallback()

Error during autoupdater

Commit ID c4ff198, during initialization of worldserver

cyphercore-worldserver-1    | SqlException: MySqlErrorCode: ParseError Message: 'DELIMITER' should not be used with MySqlConnector. See https://fl.vu/mysql-delimiter SqlQuery: /source//sql/updates/world/master/2022_09_08_00_world.sql 
cyphercore-worldserver-1    | Error while parsing SQL. Core fix required.
cyphercore-worldserver-1    | Update: /source//sql/updates/world/master/2022_09_08_00_world.sql Failed. You need to apply it manually

Does not compile

During compilation:
/source/Source/Game/Chat/Commands/QuestCommands.cs(162,50): error CS0117: 'RBACPermissions' does not contain a definition for 'CommandQuestObjectiveComplete' [/source/Source/Game/Game.csproj]
revision f2cf016

Bug with WorldManager::GetNextMonthlyResetTime

static long GetNextMonthlyResetTime(long t)
{
t = GetNextDailyResetTime(t);
DateTime time = Time.UnixTimeToDateTime(t);
if (time.Day == 1)
return t;
var newDate = new DateTime(time.Year, time.Month + 1, 1, 0, 0, 0, time.Kind);
return Time.DateTimeToUnixTime(newDate);
}

12month + 1 = 13 = Exeption in new (DateTime)

It should be like:

static long GetNextMonthlyResetTime(long t)
{
    t = GetNextDailyResetTime(t);
    DateTime time = Time.UnixTimeToDateTime(t);
    if (time.Day == 1)  //Could you explain  this hack?
        return t;
    
    return Time.DateTimeToUnixTime(time.AddMonths(1));
}

Mmap: pathing not correct.

Current pathing is not always correct. errror is somewhere in detour. Any help with this error would be great.

Uncaught exception while loading C# scripts

Got an error while executing WorldServer.

Core builds DBs just fine, but crashes while preparing DataStorage. Lots of red warnings about unused and/or undefined stuff aswell. It's also worth mentioning that beforehand, the executables wouldn't point at the root directory. So to get to this point i had to paste a lot of stuff from the root, to the build folder.

System.Exception
HResult=0x80131500
Mensaje = AddScript
Origen = Framework
Seguimiento de la pila:
en Cypher.Assert(Boolean value, String message, String memberName) en C:\Users\andres\Documents\repos\CypherCore-master\Source\Framework\Debugging\Errors.cs: línea 32
en Game.Scripting.ScriptRegistry1.AddScript(TValue script) en C:\Users\andres\Documents\repos\CypherCore-master\Source\Game\Scripting\ScriptManager.cs: línea 1290 en Game.Scripting.ScriptManager.AddScript[T](T script) en C:\Users\andres\Documents\repos\CypherCore-master\Source\Game\Scripting\ScriptManager.cs: línea 1223 en Game.Scripting.CreatureScript..ctor(String name) en C:\Users\andres\Documents\repos\CypherCore-master\Source\Game\Scripting\CoreScripts.cs: línea 325 en Game.Scripting.GenericCreatureScript1..ctor(String name, Object[] args) en C:\Users\andres\Documents\repos\CypherCore-master\Source\Game\Scripting\CoreScripts.cs: línea 305

In an attempt to solve this issue, i moved the Scripts folder from the Source folder to the Build directory, but it all seems pointless without a path reference to where the core is looking up the C# scripts. Any clues on how could i fix this would be much appreciated.

report

Error extract core data (CypherTool)

Hi,
When i want extract all data on WoW (8.2.5) with the tools, I have this error :

Unhandled Exception: DataExtractor.CASCLib.BLTEDecoderException: unknown keyname 1CDAF3931871BEC3

I try to debug but I dont understand why when I go in this line I have this error ...

image

image

I tried to set the game language in french / English , same thing...

If someone can help me

Need devs?

Hi
Do you need devs?
Your core is very interesting - 1,5 minutes compile is brilliant!
(TrinityCore - 40+ minutes compile!)
May I join you?

Cannot login

i can't login with the client. I use Arctium launcher (latest release). I updated also the field in auth.realmlist.gamebuild to 25549.

I use the correct email + password.

What do i do:

  1. Launch client with Arctium launcher
  2. at login form i write my credentials
  3. I select the realm
  4. Realm popup closes and i'm again at login form
  5. In worldserver console i read this: "WorldSocket.HandleAuthSession: Authentication failed for account: 2 ('2#1') address: 127.0.0.1"

This is the function that write that error
http://luigiellebalotta.altervista.org/privatebin/?e0f5f45ebf9bfc68#+AarUTIHTbBI51PZgpsonWSwUg25sigxLF74mHF3+eg=

Stress test.

Yo,

Has any stress test been performed? I have curiosity and interest in the project and would like to know how stable the server structure is.

Cheers.

The SQL in my D:\CypherCore\sql\old\6.x\auth but why cant update?

DBUpdater: Given update include directory "../..//sql/updates/auth" isn't existing, skipped!
DBUpdater: Given update include directory "../..//sql/custom/auth" isn't existing, skipped!
DBUpdater: Given update include directory "../..//sql/old/6.x/auth" isn't existing, skipped!
DBUpdater: Given update include directory "../..//sql/old/7/auth" isn't existing, skipped!
DBUpdater: Given update include directory "../..//sql/old/8.x/auth" isn't existing, skipped!
DBUpdater: Given update include directory "../..//sql/old/8.x/auth" isn't existing, skipped!
File '2014_10_04_00_auth.sql' was applied to the database but is missing in your update directory now!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.