Coder Social home page Coder Social logo

kaetram / kaetram-open Goto Github PK

View Code? Open in Web Editor NEW
497.0 23.0 111.0 823.63 MB

Kaetram is an open-source 2D HTML5 MMORPG. It is an extended version of BrowserQuest (BQ).

Home Page: https://kaetram.com

License: Mozilla Public License 2.0

TypeScript 91.89% SCSS 3.40% Shell 0.01% Gherkin 0.09% GLSL 0.19% Astro 4.43%
html5 2d mmo browserquest taptapadventure game-engine open-source 2d-game multiplayer game-server html5-canvas html5-game gamedev game-development game game-2d demo tilesheet rendering-engine tileset

kaetram-open's Introduction

Kaetram

Version MPL-2.0 License Website Build Status E2E Status Open Issues

Watch Stars Fork Discord YouTube Twitter Reddit

Kaetram is an open-source 2D MMORPG that expands on the original idea created by Little Workshop's BrowserQuest (BQ). We aim to provide a collaborative gaming experience as well as a game-engine for those interested in creating their own version. The game is still in early development stages and all help, suggestions, and bug reports are welcome. All of the assets are licensed under CC-BY-SA3.0 and we aim to hold onto the original BQ assets as well as expand upon them. The entire code-base has been re-written from scratch, optimized, and documented. Please see the GitHub wiki for information regarding development. Kaetram first started development in 2015 under the name of Tap Tap Adventure (TTA). In 2017, Kaetram was started as a complete re-write of the code which was formerly BQ-based.

Live Version – https://kaetram.com

Join us on Discord – https://discord.gg/MmbGAaw

Demo 1

Demo 2

Demo 3

Demo 4

Demo 5

Demo 6

Demo 7

Technologies

BQ was initially written as an HTML5 experiment showcasing the capabilities of web technologies back in 2012. Kaetram builds on top of the idea and uses modern standards to help facilitate readability, performance, and compatibility. Some of the many features are as follows:

  • Multiplayer using µWebSockets.
  • Enhanced rendering engine (includes dynamic lighting, overlays, animated tiles).
  • Region/chunking system (client caches and saves data from the server as needed).
    • Dynamic tiles (tiles that change depending on player's progress in achievements/quests/etc).
    • Global objects (tiles such as trees (and more in the future) that the player can interact with).
  • Trading between players.
  • Guild system with chatting and multi-world support.
  • Enchantment system for weapons.
  • Quest and achievement system.
  • Skilling system
  • Attack style system
  • Minigame system for special in-game events.
  • Plugin-based mob behaviour (used for special mobs such as bosses).
  • Plugin-based item interaction.
  • Hub system for cross-server communication/synchronization (private messages, global messages).
  • Discord server integration (in-game and discord server can communicate with eachother).
  • Enhanced map parsing w/ support for compressed tilemaps.
  • Yarn v3 with workspaces for monorepo packaging.
  • Player synchronization amongst servers (friend lists, guilds, login status).
  • In-game leaderboards using REST API.

Get Started

Prerequisites

You must first install Node.js to run the project, and optionally install MongoDB to store user data on the server.

NOTE: Node.js

You need to use a Node.js version greater than or equal to v16.17.1, following the Long Term Support (LTS) schedule, to have the most stable experience when developing/experimenting with Kaetram. Older versions would not work with our current dependencies and package manager.

NOTE: MongoDB

MongoDB is not a requirement for Kaetram to run, but you can store and save user data if you install it and run an online environment with all the features enabled. To do this, see Configuration, and set SKIP_DATABASE=false. If you do choose to install MongoDB, a user is not necessary, but you can enable authentication with the MONGODB_AUTH setting.

Yarn

You will also need to enable Yarn through Corepack, to manage the dependencies.

The preferred way to manage Yarn is through Corepack, a new binary shipped with all Node.js releases [...]

To enable it, run the following command:

corepack enable

https://yarnpkg.com/getting-started/install

Installing

Install the dependencies by simply running

yarn

Running

You must accept the MPL2.0 and OPL licensing agreement by toggling ACCEPT_LICENSE in the enviroment variable file. The server and client are disabled until you have done so.

To run live development builds, use

yarn dev

To create production builds, run

yarn build

Then, to run each production build, use

yarn start

Configuration

Optionally, if you want some additional configuration, There is a file named .env.defaults, and it's values will be used unless overridden by a new .env file.

Copy and rename .env.defaults to .env, and modify the contents to fit your needs.

Keep in mind, you have to rebuild the client and restart the server every time you change your configuration.

Testing

End to End

As a prerequisite to run the E2E tests, you need a MongoDB server running as well.

Configuration for test-only environments can be configured on .env.e2e. All it's values will fallback to .env, then to .env.defaults, if present.

To run test on your console, use

yarn test:run

Alternatively, if you want to have the test environment open interactively, so you can select the test you want to run in a UI, use

yarn test:open

Features

Regions

The region system works by segmenting the map into smaller chunks that are then sent to the client. The client caches the map data and stores it for quicker loading in the local storage. When a new map version is present, the client purges the cache and starts the process again. The region system is split into static tiles and dynamic tiles. Static tiles do not undergo a change and are part of the map permanently. Dynamic tiles change depending on conditions such as a player's achievement/quest progress, or, in the case of trees, depending on whether the tree has been cut or not. In the future we plan to use this region system to create instanced versions of areas, for example running multiple minigame instances at the same time.

Video example showcasing region system using an exaggerated example: Kaetram Region System

Tilemap

Kaetram uses Tiled Map Editor to create and modify the map. Our map parsing tool is used to export a condesed version of the map data. The server receives the bulk of the information and uses it to calculate collisions, tile data information, and areas (pvp, music, etc). The client stores minimal data such as tile 'z-index' and animations.

Map Parsing

Once finished modifying your map in packages/tools/map/data/, you can parse the map data by executing yarn exportmap inside the packages/tools/ directory.

Example command:

yarn exportmap ./data/map.json

To build the current game map, you can run

yarn map

Kaetram Hub

The hub functions as a gateway between servers. Due to performance limitations of NodeJS it is more feasible to host multiple servers instead of one big one containing thousands of players. The hub does exactly that, once the hub is running and a server instance is given the host address for the hub, it will automatically connect. The hub becomes the primary connection point for the client. When a request for connection is received, the hub will pick the first server that has room for the player. Alternatively, it allows players to select any server amongst the list of servers.

To enable the hub server, see Configuration, and set these values to true.

API_ENABLED=true
HUB_ENABLED=true

Roadmap

Here we have The Roadmap Project Board. This is the main board of the Kaetram-Open project. A kind of Kanban tasks board for tracking and presenting the progress to the community. Here we plan, prioritize and track our work.

See also the open issues for a list of proposed features (and known issues).

TODO

  • Add special attacks to weapons
  • Add functionality to the special abilities
  • Weapons/armours/rings/pendants enchantments
  • Diversify game content (add more skills, minigames, activities, items, etc)
  • Improve usability of the user interface on mobile devices
  • Move pathfinding to the server-side once alpha is over

Donations

Sponsor

Patreon – https://www.patreon.com/kaetram

Open Collective – https://opencollective.com/kaetram

Crypto

BTCbc1qeh0tdlkuc5q82j2qk9h3sqmwe6uy75qpjtc0dv

LTCMMRo7dfAi2T8rJrx7m3DmzhsgHRC7XJ83f

ETH0x4c6de7175f789DAf0f531477753B07402EEfedaC

BCHbitcoincash:qzx6uqunqj4mtv74jng97pea0mfcl4nmyqsew92enu

License & Commission

Following the release of the beta, Kaetram-Open will only be updated once every 2-4 weeks. There will be no more updates to the sprite art, music, item/mob/npc/etc properties. This repository will provide you with the tools necessary to create your own version of Kaetram, there are plenty of assets included for that. Further modifications will primarily consist of game-engine improvements.

For all inquiries about purchasing a different license, commission work, or purchasing access to our up-to-date version please contact @kaetram on Discord or email [email protected].

This project is distributed under the Mozilla Public License Version 2.0. See LICENSE for more information.

Additionally, Kaetram is shipped with a secondary license, Omnia Public License (OPL):

  • You MUST provide a direct link to Kaetram in the credits section.
  • You MUST keep the code open-source and continue to do so.
  • You may NOT use this project or any parts therein for anything related to artifical intelligence, cryptocurrencies, or NFTs without direct permission from the creators.
  • You may NOT remove the credits section. It MUST remain visible on the front page of the website. It MUST be easily accessible to any user who accesses the project as per W3C Accessibility Standards.
  • You may NOT remove any credits to the artists, musicians, or any other original creators of this project.
  • You may NOT use this project or any parts therein to sell online courses, you may however use this for general streaming platforms, including view-based revenue.
  • You may NOT use this project or any parts therein for any illicit activity.
  • You may NOT use this project or any parts therein to spread hate, racism, or any form of discriminatory behaviour.

If you have any questions, contact @kaetram on Discord.

kaetram-open's People

Contributors

aarona2708 avatar asimogirl avatar bchip avatar brion-fuller avatar bsormagec avatar dependabot[bot] avatar frycz avatar haerinha avatar imgbotapp avatar kidd-buu avatar lemueldls avatar liamstevens111 avatar octoshrimpy avatar veradictus 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

kaetram-open's Issues

[Feature] character info UI revamp

  • N, lvl, Ex do not have any convention for what they stand for or lower-case vs upper-case letters.
  • the 5 slots below do not have any hover text or explanation to what they do. This could be used as an entry point for parts of the game, by giving the player a rough knowledge of what could go there, and letting them know what to look for.

Screenshot_20211211_204502


I suggest a complete revamp of inventory, character sheet, quests, guilds, and similar screens. mockups to follow in comments (and discord)

[Bug]help please I’m stuck it’s says I got no clipped into a area and I can get out and I have progress on that account so please help

Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)

About

A clear and concise description of what the bug is.

How to Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • Device: [e.g. PC, Mac, iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Kaetram Version [e.g. 22]

Additional context

Add any other context about the problem here.

Move client to Typescript

About

We want consistent technology used in all packages.

Moving the client to Typescript is a huge chunk of work. Let's start with renaming all files to ts, making all types as any and setting up transpilation. That will be a good starting point for further refactoring to Typescript.

Test gameplay balance

About

This is the final task of pre-MVP phase, ideally, all developers need to test the gameplay, spot any imperfections and suggest improvements.

[Bug] entrance by hole to go to skeleton king that will not let me enter ( as well as other people)

Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)

About

A clear and concise description of what the bug is.

How to Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • Device: [e.g. PC, Mac, iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Kaetram Version [e.g. 22]

Additional context

Add any other context about the problem here.

[Bug]update needs to happen to fix bug issues of people getting kicked for "cheating"

Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)

About

A clear and concise description of what the bug is.

How to Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • Device: [e.g. PC, Mac, iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Kaetram Version [e.g. 22]

Additional context

Add any other context about the problem here.

[Bug]many pathways like ladders or underground ladders and some holes like above ground do not work, like do not let me and other players

Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)

About

A clear and concise description of what the bug is.

How to Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • Device: [e.g. PC, Mac, iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Kaetram Version [e.g. 22]

Additional context

Add any other context about the problem here.

Feature: Update client to webpack

Webpack has a few advantages over tools like require. You have full control of bundling resources and how to manage parts of the bundle. It will help keep modules isolated (avoid global variables). It can be used to also minimize assets like pictures/audio/etc..

[Feature] Smol UI legibility and discoverability

Checkboxes are nearly impossible to see if checked. Will upload mockup in comments for what they could be like, instead.

Screenshot_20211211_203550


Hovering over the buttons on the bottom right of the screen should provide styled alt-text for the keyboard shortcuts that already exist.


Custom cursor could be hidden if mouse is not within world area, like when inside inventory.

Typescript compilation and semantic errors

Steps to Reproduce

  1. Clone fresh copy of repository
  2. Run npm install
  3. Run npm run build

Output

client/ts/app.ts(18,13): error TS2304: Cannot find name 'Config'.
client/ts/app.ts(238,16): error TS2339: Property 'install' does not exist on type 'Window & typeof globalThis'.
...
[13:56:47] Plumber found unhandled error:
 GulpUglifyError: unable to minify JavaScript
Caused by: SyntaxError: Unexpected token: keyword «const»
File: /Kaetram-Next/dist/config.js
Line: 3

Several bugs listed below

When cutting trees some tress cut but the full tree stays there then eventually goes to a cut down sprite.

Some mobs spawn but are not attackable untill you kill a similar mob then the mob that wasn't attackable will start walking / roaming.

Can't move inventory or bank items on mobile can only move them on pc or computer.
( Drag element doesn't work on mobile )

Tested abilities the ability quick slot doesn't work abilities don't work ( not sure if it's ment to work )

[Documentation] Port Change To 80 or 443

Is there a way to change the default Port to 80 non ssl or 443 ssl from 9000?

I've tried in vite.config but still stays on 9000 port.

Also would be great to add in .env additional ssl cert directory for SSL.

Please let me know?

Some Possible Updates

Just some Possible Updates from playing Kaetram.

  1. I've found the map really large on mobile devices especially when tapping to move, maybe adding 1x mobile movement control on left side for up down left right movement will help assist game play. Still use top to kill etc.

  2. More sounds, for example. Cutting trees. Attacking mobs via axe, sword, bow etc. & more sound areas. I find I walk I to a sound area then keep walking into no sound areas

  3. Drag and drop for not just inventory but also stores & banks. Especially bank so you can adjust bank to your own items. Needs to be available on both pc & mobile.

  4. Possible to have pets in game follow you etc. Help in battle.

  5. Other player interaction for example, add friend, trading, follow would be epic in future. Trading would possibly be a must.

  6. A better chatting system, where you can have world, friends, pm, etc as a chatlog filter.

All of this would make the game much more enjoyable to have continue playtime. Would be great to add this in the roadmap of development.

Cheers.

Add more monsters with a variety of levels

About

Adding more monsters with a variety of levels on the map to make gameplay encouraging and involving at any level of the player.

Currently, there are no monsters (or very few) with levels of 40 and higher.

[Feature] turn to face direction if can't walk

As it stands, if you walk up to the side of a tile that has collision, and then attempt to walk towards the collision block, the character does nothing. From a user perspective, it looks like the game ate the input.

I suggest the character turn in the direction of the walk attempt. It already happens when interacting with object tiles like trees or enemies.

Game: Multi-language Support

About

Both the client and the server will have to be adapted to support multiple languages.

Possible implementation

A simple format is to just have a JSON file that contains all of the in-game texts, and we access that (similar to an i18n module).

Alternative implementation

Perhaps using one of pre-existing npm repositories would greatly speed up this process.

Activate automatic checks for tests, lint and build

About

  • #62 temporarily disables test, lint and build as they cause issues with the incoming updates:

test because yarn logs an error on an empty command ("test": "").
lint because I've set it to eslint, and the server isn't factored for that yet.
build because the server fails with these new TypeScript rules set.

The checks need to be enabled ASAP.

  • Support for Node.js 10.x should be dropped as it won't be supported from 2021: https://nodejs.org/en/about/releases/.
    Dropping support means permanently removing the build check for that version so it can be handled in this issue on the fly.

How to Reproduce

[to be filled]

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • Device: [e.g. PC, Mac, iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Kaetram Version [e.g. 22]

Additional context

Add any other context about the problem here.

Move config to env files

About

As we agreed, we want environment configuration compatible with most deployment services.

shops item list is reset after each server restart

As the item list for shops are stored in a json file (shops.json), this list reset at each restart of the server. if the item list was stored on mongoDb it could be set accordingly to its last state.

Docs: Create contribution section

Motivation

Only with an involved community, it is possible to build meaningful software. Thereupon we need to provide clear contribution guidelines for software developers, graphic designers, testers and game players.

The guidelines need to be clear and encouraging, including the project goals and development rules.

Possible implementation

Create CONTRIBUTING.md file linked with main README.md.

Examples:

Contrubution guide structure

[ to be filled ]

[Bug]many ladders and pathways do not let me enter

Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)

About

A clear and concise description of what the bug is.

How to Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • Device: [e.g. PC, Mac, iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Kaetram Version [e.g. 22]

Additional context

Add any other context about the problem here.

Docs: Provide features and issues templates

Motivation

We want a consistent way of reporting features and issues by users.

By providing the templates, the reporters will know what information they need to provide, the contributors will be able to understand the reported problem and apply a solution.

When a reporter clicks New Issue button they should see a list similar to this one:

image

Possible implementation

Needed templates:

  • bug report
  • feature request
  • pull request

Issue templates go to .github directory

Finish Lakesworld

About

Let players access Lakesworld, currently, there is nothing there.

[Feature] minimap

Create a minimap for ease of exploration. This should be a issue to be implemented asap.

Hard to navigate without a minimap.

[Bug] Some dungeons do not load NPCs

About

Quite a few dungeons do not seem to load properly. The dungeon itself comes up, but there are no characters, and after a minute or so the server logs out - I guess it's a time-out.

How to Reproduce

Using the live server, Chromium Linux

Screenshots

Screenshot from 2022-10-15 16-07-36

Environment

  • Device: Desktop
  • OS: Debian stable
  • Browser: Version 106.0.5249.91 (Official Build) built on Debian 11.5, running on Debian 11.5 (64-bit)
  • Kaetram Version: https://kaetram.com/

Propose testing strategy

About

We need a solid solution for validating changes before they do to the development or production environments.

In addition to unit tests run by every developer locally, we need an external environment for running all checks - build, tests, etc

Docs: Fill the project roadmap

Motivation

We need a consistent plan for future actions which will lead us to the goal of the project (the goal still needs to be defined). That will help us prioritize work.

Possible implementation

  • Establish the goal
  • Write down a list of features we want in the game and the codebase
  • Provide steps to take to implement needed features

The notes can be written down in the main readme file or in a separate dedicated page.
Once the steps are defined, dedicated issues will be created in the repository

[Bug]Entrance/exit on the cave doesn't work

Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)

About

A clear and concise description of what the bug is.

How to Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

My avatar should be able to exit from a certain cave in the game.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

Screenshot 2022-01-12 115710
I tried recreating it on a guest account, but it doesn't happen.

  • Device: [PC]
  • OS: [Windows 10]
  • Browser [Google Chrome Version 97.0.4692.71]
  • Kaetram Version [e.g. 22]

Additional context

Lolo.Mo.mp4

Add any other context about the problem here.
https://drive.google.com/file/d/1kXFalGyJbO5pfGY3X5Du29ibRF00wVb1/view?usp=sharing

[Bug] Failed to build because of vite-plugin-html

About

Hello, I'm currently trying to build Kaetram on a raspberry 4B (arm64). But it failed each time I launch yarn build with this output:

instrum@xxxxx:~/games/Kaetram-Open-develop $ yarn build
➤ YN0000: [@kaetram/client]: Process started
➤ YN0000: [@kaetram/hub]: Process started
➤ YN0000: [@kaetram/server]: Process started
➤ YN0000: [@kaetram/hub]: Process exited (exit code 0), completed in 38s 532ms
➤ YN0000: [@kaetram/client]: failed to load config from /home/instrum/games/Kaetram-Open-develop/packages/client/vite.config.ts
➤ YN0000: [@kaetram/client]: error during build:
➤ YN0000: [@kaetram/client]: /home/instrum/games/Kaetram-Open-develop/node_modules/vite-plugin-html/dist/index.cjs:125
➤ YN0000: [@kaetram/client]:       const proxy = viteConfig.server?.proxy ?? {};
➤ YN0000: [@kaetram/client]:                                       ^
➤ YN0000: [@kaetram/client]: 
➤ YN0000: [@kaetram/client]: SyntaxError: Unexpected token '.'
➤ YN0000: [@kaetram/client]:     at wrapSafe (internal/modules/cjs/loader.js:915:16)
➤ YN0000: [@kaetram/client]:     at Module._compile (internal/modules/cjs/loader.js:963:27)
➤ YN0000: [@kaetram/client]:     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
➤ YN0000: [@kaetram/client]:     at Module.load (internal/modules/cjs/loader.js:863:32)
➤ YN0000: [@kaetram/client]:     at Function.Module._load (internal/modules/cjs/loader.js:708:14)
➤ YN0000: [@kaetram/client]:     at Module.require (internal/modules/cjs/loader.js:887:19)
➤ YN0000: [@kaetram/client]:     at require (internal/modules/cjs/helpers.js:74:18)
➤ YN0000: [@kaetram/client]:     at Object.<anonymous> (/home/instrum/games/Kaetram-Open-develop/packages/client/vite.config.ts:50:31)
➤ YN0000: [@kaetram/client]:     at Module._compile (internal/modules/cjs/loader.js:999:30)
➤ YN0000: [@kaetram/client]:     at Object.require.extensions.<computed> [as .ts] (/home/instrum/games/Kaetram-Open-develop/node_modules/vite/dist/node/chunks/dep-611778e0.js:61506:20)
➤ YN0000: [@kaetram/client]: Process exited (exit code 1), completed in 49s 776ms
➤ YN0000: [@kaetram/server]: Process exited (exit code 0), completed in 55s 276ms
➤ YN0000: Done in 55s 487ms

How to Reproduce

Steps to reproduce the behavior:

  1. Download the archive of the git repo (i can't git clone because of a strange behavior of my bandwidth using git)
  2. Unzip and go to the directory created
  3. Execute yarn
  4. Execute yarn build

Expected behavior

Kaetram being built with exit code 0

Environment

  • Device: Raspberry PI 4B
  • OS: Debian GNU/Linux 11 (bullseye) aarch64
  • Browser: NA
  • Kaetram Version 1.3.1 (as written in package.json)

Additional context

This is the full procedure:

instrum@xxxxx:~/games/Kaetram-Open-develop $ yarn rebuild
➤ YN0000: ┌ Resolution step
➤ YN0000: └ Completed in 0s 828ms
➤ YN0000: ┌ Fetch step
➤ YN0000: └ Completed in 1s 996ms
➤ YN0000: ┌ Link step
➤ YN0007: │ kaetram@workspace:. must be built because it never has been before or the last one failed
➤ YN0007: │ esbuild@npm:0.14.27 must be built because it never has been before or the last one failed
➤ YN0007: │ esbuild@npm:0.14.34 must be built because it never has been before or the last one failed
➤ YN0007: │ core-js@npm:3.21.1 must be built because it never has been before or the last one failed
➤ YN0007: │ pngquant-bin@npm:6.0.0 must be built because it never has been before or the last one failed
➤ YN0000: └ Completed in 4s 907ms
➤ YN0000: Done in 8s 491ms
instrum@xxxxx:~/games/Kaetram-Open-develop $ yarn build
➤ YN0000: [@kaetram/client]: Process started
➤ YN0000: [@kaetram/hub]: Process started
➤ YN0000: [@kaetram/server]: Process started
➤ YN0000: [@kaetram/hub]: Process exited (exit code 0), completed in 38s 532ms
➤ YN0000: [@kaetram/client]: failed to load config from /home/instrum/games/Kaetram-Open-develop/packages/client/vite.config.ts
➤ YN0000: [@kaetram/client]: error during build:
➤ YN0000: [@kaetram/client]: /home/instrum/games/Kaetram-Open-develop/node_modules/vite-plugin-html/dist/index.cjs:125
➤ YN0000: [@kaetram/client]:       const proxy = viteConfig.server?.proxy ?? {};
➤ YN0000: [@kaetram/client]:                                       ^
➤ YN0000: [@kaetram/client]: 
➤ YN0000: [@kaetram/client]: SyntaxError: Unexpected token '.'
➤ YN0000: [@kaetram/client]:     at wrapSafe (internal/modules/cjs/loader.js:915:16)
➤ YN0000: [@kaetram/client]:     at Module._compile (internal/modules/cjs/loader.js:963:27)
➤ YN0000: [@kaetram/client]:     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
➤ YN0000: [@kaetram/client]:     at Module.load (internal/modules/cjs/loader.js:863:32)
➤ YN0000: [@kaetram/client]:     at Function.Module._load (internal/modules/cjs/loader.js:708:14)
➤ YN0000: [@kaetram/client]:     at Module.require (internal/modules/cjs/loader.js:887:19)
➤ YN0000: [@kaetram/client]:     at require (internal/modules/cjs/helpers.js:74:18)
➤ YN0000: [@kaetram/client]:     at Object.<anonymous> (/home/instrum/games/Kaetram-Open-develop/packages/client/vite.config.ts:50:31)
➤ YN0000: [@kaetram/client]:     at Module._compile (internal/modules/cjs/loader.js:999:30)
➤ YN0000: [@kaetram/client]:     at Object.require.extensions.<computed> [as .ts] (/home/instrum/games/Kaetram-Open-develop/node_modules/vite/dist/node/chunks/dep-611778e0.js:61506:20)
➤ YN0000: [@kaetram/client]: Process exited (exit code 1), completed in 49s 776ms
➤ YN0000: [@kaetram/server]: Process exited (exit code 0), completed in 55s 276ms
➤ YN0000: Done in 55s 487ms

I already reinstalled yarn, re-cloned Kaetram, deleted cache and node_modules and reinstalled packages with yarn... But I don't really know yarn and I don't understand the issue... Thanks a lot for your help.

yarn & node version:

instrum@xxxxx:~/games/Kaetram-Open-develop $ node --version
v12.22.5
instrum@xxxxx:~/games/Kaetram-Open-develop $ yarn --version
3.2.0

I and some of my friends keep getting kicked and it says we were cheating,for example when I tried to go to the place with ants and warp i got kicked(this is over 20 people)[Bug]

Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)

About

A clear and concise description of what the bug is.

How to Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • Device: [e.g. PC, Mac, iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Kaetram Version [e.g. 22]

Additional context

Add any other context about the problem here.

interface.css glitch in shop list

Line 484:

current code suggested
#shopContainer { #shopContainer {
position: absolute; overflow-y: scroll;
font-family: 'AdvoCut', sans-serif; position: absolute;
top: 8%; font-family: 'AdvoCut', sans-serif;
width: 85%; top: 8%;
height: 80%; width: 85%;
left: 8%; height: 80%;
} left: 8%;
}
Annotation 2020-04-20 193109 Annotation 2020-04-20 193110

[Bug] floating NPC chat bubbles do not attempt to overflow the screen

if talking to an NPC and then walking away, the bubble will resize so that the entirety of the contents will remain readable. With a lot of text in one chat bubble, this can cause most of the edge of the screen (L or R) to be completely covered.

I suggest the chat bubbles remain the same size, and move out of view like everything else in the map, as the player moves away from it.

[Feature] Separate world notifiications and chat

The reason for the separation is twofold:

  1. When the world sends you a notification (can't cut tree, don't have axe) it opens up the entire chatbox log, when only a small message needed to be conveyed to the player.
  2. When someone sends a chat message it opens up a large visual "box" in the middle of the screen, which clutters the view, specially if there is a large font set or long chat log.

I suggest moving chat to the bottom left, as per most games' chat location, and letting world notifications either appear in-game nearby the cause of notification (can't chop tree, appear near tree) or at the top of the screen.

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.