Giter Club home page Giter Club logo

ephenation-server's People

Contributors

larspensjo 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

ephenation-server's Issues

Replaced equipment is lost

Instead of losing it, it should go back into the inventory. That way, it can be cached in for experience points.

Jumping doesn't test for roofs

When a player jumps, there is no test for a roof. That makes it possible to jump "above" the roof, and see what is behind. The algorithm for test falling down, however, can detect that the feet are on "solid gound", and prevent the player from coming back to start position again.

client simulator chunk request failure

the client simulator will request the chunk for the coordinate of the player. But there is only one global coordinate saved for all instances, which will contain the coordinate of the last report from these instances.

When a chunk is requested from another instance, it may be too far away from the position of that player, and the request sometimes gets rejected by the server.

Permeable lamps

Lamps should be permeable, just like monsters, players and vegetation.

Achievements

  1. Every territory can grant one achievement.
  2. Granted achievements are stored in the player data, as an array of id, where the id is the owner of the territory.
  3. Any achievement can only be granted once to each player.
  4. The mechanism to grant an achievement shall be handled by the activator blocks.

Getting out of water is hard

When jumping, the player falls back into the water to a depth that is not consistent. It may vary from time to time. That can make it hard to get out of water up to solid ground.

Use octree instead of quadtree

Players and monsters are managed in quadtrees. But the world is 3D, so a full octree should be used. As it is currently, the quadtree is used to find players or monsters near each other, with an additional manual test for difference elevation.

Disable magical portals not on ground

It is possible to create a magical portal that is not on the ground. A player will then fall down, making it impossible to travel to another portal.

The portal should be disabled if it is not on ground or if it is inside any material like traps or rock.

"twof": cannot find package !!Please help me

ephenation-server

Please help me

$ go install -v ./...
src/chunkdb/chunkdb.go:26:2: import "ephenationdb": cannot find package
src/chunkdb/chunkdb.go:30:2: import "mysql": cannot find package
src/cmd/clientsimulator/ListenForMessages.go:27:2: import "client_prot": cannot find package
src/cmd/server/worldDB.go:34:2: import "DynamicBuffer": cannot find package
src/cmd/server/createchunk.go:22:2: import "chunkdb": cannot find package
src/cmd/server/ObjectList.go:23:2: import "inventory": cannot find package
src/cmd/server/active_blocks.go:27:2: import "keys": cannot find package
src/cmd/server/doTest.go:33:2: import "license": cannot find package
src/cmd/server/active_blocks.go:30:2: import "quadtree": cannot find package
src/cmd/server/active_blocks.go:31:2: import "score": cannot find package
src/cmd/server/pheenadv.go:34:2: import "superchunk": cannot find package
src/cmd/server/procs.go:34:2: import "timerstats": cannot find package
src/cmd/server/pheenadv.go:36:2: import "traffic": cannot find package
src/cmd/server/active_blocks.go:35:2: import "twof": cannot find package

Redesign inventory list

The design of the inventory list too complex. A simpler system can be used where every object is defined by a 4 character string and has a level.

Update SQL communication library

The current SQL communication is based on an old library that is no longer supported. There is now better support with Go1, and a standard solution should be used.

Better limitation of creating magical portals

It is now possible to create one magical portal per chunk. This would quickly lead to chaos if players use one portal for every chunk (which is the current limitation).

A more reasonable limitation would possibly be at most one portal per territory.

Use fork of config library

Use a fork from github.com/robfig/config as a tag.

The current version has changed path, and is no longer compatible.

Improve player movement near walls

When the player tries to move at an angle towards the wall, he will not move at all. The current algorithm extrapolates the "next position", and stops the movement if it is inside a wall.

Instead, the player should be moved in parallel to the wall.

Timeout busy wait

In case of an incomplete message read from the client in combination of continuous read timeout, the server will busy wait until the connection is closed.
This will generate a lot of log messages.

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.