Giter Site home page Giter Site logo

fastcraft's People

Stargazers

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

Watchers

 avatar  avatar  avatar

fastcraft's Issues

Check Ping from Serveradmin (Hoster)

Fastcraft checks the ping from the serveradmin (host). If the ping is to high (maybe 60), a warning will appear, like: "Your ping is high. Maybe your players can't play without laggs."

Chunk despawning

ChunkProvider::CheckSpawnedChunkList doesn't despawn all too distant chunks.

PlayerInfo window

Don't send a higher than 60 MaxPlayer size, otherwise the PlayerInfo window won't render correctly.

--CraftBukkit

Laggy entity movement

FastCraft only use EntityTeleport. It should use all entity movement packets for a smarter movement.

Redstone stack up

You can use Restone as a ordinary block and stack it up into the sky.

pic

Nullpointer and Heap exception

Sometime, FC tryes to write/read at adress 0x00000000 or reads/writes in a already freeed heap block.

This bug occurs very rarely.

Edit2: Not PackingThread causes this. NetworkWriter do.

Chunk delivering

The actual chunk delivering system is just a temporary solution. The full map become packet and transmitted. This will increase server lags a lot.

A better solution is to create a new class, that reads map data from a central chunk class and send one for each look packet, sent by client.

Needed functions:
-Pre Chunk generating
-Chunk packing
-Request new map chunks from central chunk class
-Keep in track of actual player position and spawned chunk count
-Editable chunk spaw radius

Addition: Send prechunks in a row

ViewDistance

If view distance is odd, ChunkProvider stops working

Teleportion

If you build something like the pictures below, you will be teleported to the top of this constructions.
This is caused by World::isSuffocating. It handles Redstone/glass panel (and all the other blocks that are not 'normal' such as vines,neather wards, cake, half slaps, ladders, rails...) as a ordinary blocks and doesn't consider it's width and height.

pic1
pic2
pic3

ServerList ping

Sometimes, you can see a connection error in the minecraft client, while fetching server information.

Locate a Player

  • Admin/Player is able to locate a player (check the distance from the located player and write the direction to the chat) Example: Distance to player Michael: 2.34m - West

Expert-Flyingsettings

Say which user can fly and which not. Like the Gamemode, but with the Flying.

gz Retus

Improved ban system

  • Admin is able to time ban a player
  • Admin can ban a player with forgive function. (Banned player joins the server and has the possibility to write into the chat a apology) Example: /forgive Sorry admin today is not my day, this will not happen again

PlugIn-System

Server provide hooks where plugins have the possibility to hook in.
maybe with help from the POCO class-loader?

XML Charset & Chat

FastCraft still only supports UTF-8 in chat and settings.
It should be UTF-16.

Server Time

SOLVED Ingame time calculation is "too fast"
SOLVED Time is frozen to noon now

There is no time increment thread.

Chunk Holes

Since build 34, there are big chunk holes, generated by first ChunkProvider::HandleMovement.

Thread count decrement

I think, the ServerTime thread, is not longer required, the main thread can increase time.

Chunk Exceptions

Handle chunk creation exceptions from player pool in networkhandler

Better I/O class

Transform TCPHelper and TextHandler to a DataIO class.

Features:
-read/write basic types like int,char,double...
-read/write minecraft types: e.g. string16
-automatic endian conversion
-each class instance have an own buffer

Username

If a username is too long, it doesn't fit in the box anymore.

Solution: Short after 60 characters

IRC bridge

Able to read IRC Messages in Game, write Messages to IRC Server etc :)

Muilti port binding

ServerSocket doesn't throw an exception if FastCraft binds two equal ports

PlayerChunk suffocation

When a player has a very slow internet connection, he fell down into void or suffocate in the map.

The best way to fix that, is to fix the player into his position till his client stops to fall.

Ping Check

The server checks the ping of the player. If the ping is to high, force the player to kick.

Connect Kick and Disconnect

If a player gets kicked, the kick job will be queued.
This queue time can be reduced, if Disconnect and Kick become connected.

Suggestion: -Direct network writing while kicking, then disconnect.

Minecraft crash while log in

Sometimes Minecraft crashes with a blackscreen if you want to enter the server.
I could catch the stacktrace via MCP. It seems to be a problem with the sendTime method...

at net.minecraft.src.NetClientHandler.handleUpdateTime(NetClientHandler.java:654)
at net.minecraft.src.Packet4UpdateTime.processPacket(Packet4UpdateTime.java:35)
at net.minecraft.src.NetworkManager.processReadPackets(NetworkManager.java:229)
at net.minecraft.src.NetClientHandler.processReadPackets(NetClientHandler.java:77)
at net.minecraft.src.GuiConnecting.updateScreen(GuiConnecting.java:33)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1313)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:686)
at net.minecraft.client.Minecraft.run(Minecraft.java:627)
at java.lang.Thread.run(Thread.java:722)

I'll try to fix it.

Permissions

You can put players in different Groups, to chat witch another.

Player Timeout

If a player timed out, the thread is trapped in an endlessloop.

Class: NetworkIO

Eating Bug

It won't stop the eaeting animation if you look straight on the ground.

Improved reconnect system

If a player lost the connection to the server (Client side - maybe provider restart) the server checks 2 times (interval 10 sec) if the connection is stable again.

If the connection is not stable = force player to leave

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.