Git Product home page Git Product logo

survivalgames's Introduction

  • ๐Ÿ‘‹ Hi, Iโ€™m @BossWasHere
  • ๐Ÿ‘€ Iโ€™m interested in backend server and engine development
  • ๐ŸŒฑ Iโ€™m currently learning C++
  • ๐Ÿ’ž๏ธ Iโ€™m looking to collaborate on coffee breaks
  • ๐Ÿ“ซ How to reach me: Discord - BackwardsNode#7951

survivalgames's People

Contributors

bosswashere avatar dependabot[bot] avatar

Watchers

 avatar

survivalgames's Issues

Implement auto-start configuration

A server might wish to start a game as soon as it boots up. There are already some configuration entries and empty commands to help with this task in the plugin.

Add database support

A basic template for database support has been created, but no such implementation is available yet. We might want to be able to record:

  1. Game history
  • Date played
  • Game duration
  • Name of the map
  • List of player UUIDs
  • List of players who made it to the deathmatch (if started)
  • The selected deathmatch location
  • If the game was finished or was aborted
  • Player rankings
  • Other game settings
  1. Player statistics
  • Games played
  • Games won
  • Players killed
  • K/D ratio
  • Most kills in a single game
  • Time played
  • Some experience/ranking metric (see other task)?

Ideally, database implementation should be normalized. (Should we allow redundancy with player statistics i.e. storing "number of games played" rather than counting occurrences of a player's UUID appearing in a table?)

Improve world protection

World protection is very primitive (anvil protection). Some plugins may prevent actions (anvil usage, enchantment table usage, etc.) outright.

  • Consider hooking into frequently used world protection plugin APIs.
  • Consider checking player permissions for world protection.

Missing/Outdated editor features

Some map editor features are missing or aren't intuitive for builders to use.

  • Some configuration fields are not editable in-game.
  • Some features (e.g. loot drops) are not implemented in the editor.

Implement player map voting

Ideally we want players to be able to "join" a game that isn't (necessarily) started from a specific map. Adding a voting feature would allow players to choose which map they want to play on.

  • Maybe players can use currency to cast multiple votes?
  • This would work much better with game lobbies.

Add BungeeCord support

If this plugin should be run on a large proxy network running something like BungeeCord, then there are some useful features we might want:

  • Handle player connect/disconnect with the proxy;
  • Indicate to the proxy if the player is currently in-game or spectating;
  • Indicate to the proxy when the server is busy (i.e. when a game starts/stops);
  • Pass map votes from the proxy to the server.

Block commands and items in-game

We need server operators to be able to decide which commands players can and cannot run while playing. This should be managed by the global configuration file.

  • A list of commands (or maybe command patterns?) to block.
  • A list of items (do we need to block items based on meta?)
  • An override permission, that permits a player to run all commands (selected commands?) regardless.

Create player experience metric

A nice feature to have would be to compare the players' skill against each other. This would help for extending the plugin to support team-based game modes with fair player skill distributions, and recording ranking metrics in a database for any potential web interfaces.

Some potential things to base this on:

  • K/D
  • Average placement
  • Average time alive

Add game lobbies and lobby invites

Adding pre-game and post-game lobby support would be a good feature. Some basic configuration of the features we might want to see can be seen in the configuration file.

Even if a server operator chooses to not use physical lobbies in their worlds, a rewrite of the game invitation system is much needed as it is currently very clunky and might not be reliable in the future.

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.