{"id":19228006,"url":"https://github.com/kbengine/kbengine_unity3d_demo","last_synced_at":"2025-04-04T16:17:20.182Z","repository":{"id":14682836,"uuid":"17402187","full_name":"kbengine/kbengine_unity3d_demo","owner":"kbengine","description":"This client-project is written for kbengine(a MMOG engine of server)","archived":false,"fork":false,"pushed_at":"2024-04-29T10:22:25.000Z","size":13939,"stargazers_count":296,"open_issues_count":3,"forks_count":287,"subscribers_count":47,"default_branch":"master","last_synced_at":"2025-03-28T15:11:18.430Z","etag":null,"topics":["kbengine"],"latest_commit_sha":null,"homepage":"http://kbengine.org","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kbengine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-03-04T13:09:13.000Z","updated_at":"2025-03-05T12:22:20.000Z","dependencies_parsed_at":"2024-12-28T22:11:52.372Z","dependency_job_id":"a17d7503-576a-4190-8672-619d8db484a8","html_url":"https://github.com/kbengine/kbengine_unity3d_demo","commit_stats":null,"previous_names":[],"tags_count":71,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbengine%2Fkbengine_unity3d_demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbengine%2Fkbengine_unity3d_demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbengine%2Fkbengine_unity3d_demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbengine%2Fkbengine_unity3d_demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kbengine","download_url":"https://codeload.github.com/kbengine/kbengine_unity3d_demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247208190,"owners_count":20901570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kbengine"],"created_at":"2024-11-09T15:26:23.201Z","updated_at":"2025-04-04T16:17:20.163Z","avatar_url":"https://github.com/kbengine.png","language":"C#","readme":"KBEngine_unity3d_demo\n=============\n\n## This client-project is written for KBEngine(a MMOG engine of server)\n\nhttp://www.kbengine.org\n\n## 中文\n\n[Demo搭建文档](https://github.com/kbengine/kbengine_unity3d_demo/blob/master/README_CN.md)，QQ交流群：461368412，[论坛](http://bbs.kbengine.org)\n\n## Releases\n\n\tsources\t\t: https://github.com/kbengine/kbengine_unity3d_demo/releases/latest\n\n\n## KBE-Plugins docs\n\n\tkbengine_unity3d_demo\\Assets\\Plugins\\kbengine_unity3d_plugins\\README.md\n\n\n## Start:\n\t1. Download KBEngine(a MMOG engine of server):\n\t\tDownload(KBEngine):\n\t\t\thttps://github.com/kbengine/kbengine/releases/latest\n\n\t\tBuild(KBEngine):\n\t\t\thttp://kbengine.github.io/docs/build.html\n\n\t\tInstallation(KBEngine):\n\t\t\thttp://kbengine.github.io/docs/installation.html\n\n\t2. Use git to get the demo-assets(server):\n\n\t\tIn the kbengine_unity3d_demo directory:\n\n\t\t* Git command: git submodule update --init --remote\n![submodule_update1](http://kbengine.github.io/assets/img/screenshots/gitbash_submodule.png)\n\n\t\t* Or use TortoiseGit(menu): TortoiseGit -\u003e Submodule Update:\n![submodule_update2](http://kbengine.github.io/assets/img/screenshots/unity3d_plugins_submodule_update.jpg)\n\n\t\t* Or manually get the demo-assets(server)\n\n\t\t\tDownload demo-assets(server):\n\t\t\t\thttps://github.com/kbengine/kbengine_demos_assets/releases/latest\n\t\t\t\tunzip and copy to \"kbengine/\"  (The root directory server engine, such as $KBE_ROOT)\n\n\t3. Copy \"kbengine_unity3d_demo\\kbengine_demos_assets\" to \"kbengine\\\" root directory\n![demo_configure](http://kbengine.github.io/assets/img/screenshots/demo_copy_kbengine.jpg)\n\n\n\t4. Generate a Client plugins from the server-side asset library (optional, one by default unless the server-assets is modified)\n\t\t1: Double-click to run kbengine/kbengine_demos_asset/gensdk.bat\n\t\t2: Copy kbengine_unity3d_plugins to kbengine_unity3d_demo\\Assets\\Plugins\\\n\n\n## Configure Demo(Optional):\n\n\tChange the login address:\n![demo_configure](http://kbengine.github.io/assets/img/screenshots/demo_configure.jpg)\n\n\t\tkbengine_unity3d_demo\\Scripts\\kbe_scripts\\clientapp.cs -\u003e ip\n\t\tkbengine_unity3d_demo\\Scripts\\kbe_scripts\\clientapp.cs -\u003e port\n\n\n## Start the Servers:\n\n\tEnsure that the \"kbengine_unity3d_demo\\kbengine_demos_assets\" has been copied to the \"kbengine\\\" directory\n\t\tReference：Start\n\n\tCheck the startup status:\n\t\tIf successful will find log \"Components::process(): Found all the components!\".\n\t\tOtherwise, please search the \"ERROR\" keyword in logs, according to the error description to try to solve.\n\t\t(More: http://kbengine.github.io/docs/startup_shutdown.html)\n\n\tStart server:\n\t\tWindows:\n\t\t\tkbengine\\kbengine_demos_assets\\start_server.bat\n\n\t\tLinux:\n\t\t\tkbengine\\kbengine_demos_assets\\start_server.sh\n\n\t\t(More: http://kbengine.github.io/docs/startup_shutdown.html)\n\n\n## Start the Client:\n\n\tDirectly start(U3DEditor or Executable file).\n\t(Build Client：Unity Editor -\u003e File -\u003e Build Settings -\u003e PC, MAC \u0026 Linux Standalone.)\n\n\n## Navmesh-navigation(Optional):\n\t\n\tThe server to use recastnavigation navigation.\n\tRecastnavigation generated navigation mesh (Navmeshs) placed on the:\n\t\tkbengine\\kbengine_demos_assets\\res\\spaces\\*\n\n\tGeneration Navmeshs:\n\t\thttps://github.com/kbengine/unity3d_nav_critterai\n\n\n## Structure and interpretation:\n\t\t\t\n\tThe relationship between plug-ins(KBE) and U3D and servers:\n\t\tPlug-in and servers: Responsible for processing and server network packet. account login/logout process. \n\t\t\t\t     By server notification logic entities are created and destroyed. Processing synchronous logical entity attribute data. etc.\n\t\tPlug-in and U3D: The plug-in will trigger some events to the U3D graphics layer, the graphics layer determines whether to capture some events, \n\t\t\t\tget data to render performance (for example: create a monster, a NPC move-speed increase, HP changes).\n\t\t\t\tU3D graphics layer will input the event trigger to the plug-in layer (for example: the player moved, hit the relive button UI), \n\t\t\t\tthe plug-in logic script layer determines whether the need to transfer to the server. etc.\n\t\t\t\t\n\n\tPlugins\\kbengine\\kbengine_unity3d_plugins:\n\t\tClient plug-in core codes.\n\n\tScripts\\kbe_scripts:\n\t\tKBE client logic scripts(in this implementation of the server side of the entity script, the entity's bag data structure, skills in client condition checks, etc.).\n\n\t\tScripts\\kbe_scripts\\Account.cs：\n\t\t\tCorresponds to the client side of the KBE server account entity.\n\n\t\tScripts\\kbe_scripts\\Avatar.cs：\n\t\t\tCorresponds to the client side of the KBE server avatar entity.\n\n\t\tScripts\\kbe_scripts\\Monster.cs：\n\t\t\tCorresponds to the client side of the KBE server monster entity.\n\n\t\tScripts\\kbe_scripts\\clientapp.cs：\n\t\t\tIn the system of KBE abstraction of a client APP, which contains the KBE client plug-in initialization and destruction, etc.\n\n\t\tScripts\\kbe_scripts\\interfaces：\n\t\t\tCorresponding to the module defined in KBE(entity_defs\\interfaces).\n\n\tScripts\\u3d_scripts:\n\t\tUnity graphics layer (including scene rendering, UI, object, character model, monster model).\n\n\t\tScripts\\u3d_scripts\\GameEntity.cs：\n\t\t\tMonster/NPC or player script (management model and animation, etc.).\n\n\t\tScripts\\u3d_scripts\\World.cs:\n\t\t\tManage a map of the game script, for example: to create a specific 3D monster into the scene.\n\n\t\tScripts\\u3d_scripts\\UI.cs:\n\t\t\tthe game's UI processing script.\n\n\tstart.unity:\n\t\tStart the scene, which starts to enter the game.\n\n\tScenes\\login.unity:\n\t\tlogin map.\n\n\tScenes\\selavatars.unity:\n\t\tGame character selection map.\n\n\tScenes\\world.unity:\n\t\tA map of the scene in the game.\n\n## Screenshots:\n\n![screenshots1](http://kbengine.github.io/assets/img/screenshots/unity3d_demo9.jpg)\n![screenshots2](http://kbengine.github.io/assets/img/screenshots/unity3d_demo10.jpg)\n![screenshots3](http://kbengine.github.io/assets/img/screenshots/unity3d_demo11.jpg)\n","funding_links":[],"categories":["C# #"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkbengine%2Fkbengine_unity3d_demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkbengine%2Fkbengine_unity3d_demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkbengine%2Fkbengine_unity3d_demo/lists"}