Giter VIP home page Giter VIP logo

serverage's People

Contributors

caeleron avatar darthsidiouspalpatine avatar grissess avatar jrddunbr avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

serverage's Issues

Event Computer Editor

Add a serial console BIOS sort of thing that provides minimal file editing/viewing on Event Computers

It can be something simple like a nano implementation along with a very basic shell that lets you move, create, delete, and copy files.

  • Nano
  • curl or wget
  • cp
  • ls
  • mv
  • touch
  • rm

Server Age Mod Ideas

This mod should be relatively simple from the user's perspective:

  • Server Rack - can hold 4 rack units of equipment and handles various inter-connectivity; strictly A-B type stuff, no switching/routing
  • 1u Network Switch - controls networking in a rack
  • 1u Server - a simple server
  • 2u Server - a more powerful server
  • Workstation - a server as a standalone block (same size as a 2u)
  • Serial Console - a tool that lets you get a serial console on a server
  • Conduit - Provides fiber and Ethernet a place to run between workstations and/or racks.

Blocks:

  • Server Rack
  • Workstation
  • Conduit

Items:

  • 1u Switches (rackable)
    • 3 Ethernet + 4 Ethernet Uplink Variant
    • 3 Ethernet + 2 Fiber Uplink + 2 Ethernet Uplink Variant
    • 3 Fiber + 4 Fiber Uplink Variant
  • 1u Server (rackable)
  • 2u Server (rackable)
  • #10
  • Ethernet Cable (limited to 32 blocks, limited bandwidth)
  • Fiber Line

Crafting Items.. these may come from Processing Age or other Age-mods.

  • Motherboard and CPU - there will be different kinds
    • x86 container
    • x86 VM
    • x86 EC2 (whatever works - user will have to provide IAM role from template for permissions
    • x86/Arm Lambda - user will have to provide IAM role from template for permissions
    • These are crafted independently but due to various limitations of VPC's, the EC2/Lambda systems will only have very specific networking capabilities and supported cards will be more limited than containers or VM's.
  • Ethernet Card
  • Fiber Card (1x, 2x variants)
  • SFP's
  • #12
  • Disk - This will depend on the system but probably start from a container image of sorts (except Lambda)
  • Disk Controller Card - This makes it so that you can access more than 2 drives
  • Internet Card - Allows communication to the public internet (think NAT)
  • Unlimited Internet Card - Allows opening listening ports to the local network on top of capabilities of Internet Card

Mechanics

The rack will have 5 sides. Each side can be connected to a different conduit. Conduits can have junctions.

In order to use a conduit, you must configure the connection using an Ethernet Cable or Fiber Cable, which will create a link between two endpoints that the Conduit is aware of. You can right-click any portion of conduit with a cable to open this interface. Ethernet cables are limited to 32 blocks of conduit length.

Racks have names as configured in their GUI (the same one used for configuring the devices within) that shows up in the connected Conduit networks.

Conduits can carry .. a few cables (8?). They are colored using Minecraft colors.

When you bring up the rack config, you can configure the servers and network switches with their connectivity with the 5 connectable sides of the block (the front face is not connectable). This allows you to do basic drag-drop connections between incoming conduits and the various slots.

Additionally, on the other side of the rack slots, you can connect the various servers in the rack into the network switch(es) of the rack. This uses a similar drag-drop interface and requires one cable item per connection.

Depending on the cards installed, servers can have 1 to 4 connections on them. Most 1u servers can have 1 card and a built-in Ethernet, most 2u servers can have 4 cards and built-in Ethernet. The reason it depends is because Lambdas and EC2 instances will be handled differently due to various limitations.

I do want to have various limits that bring these computers down a notch on processing power, namely slow networking (slower still with Ethernet as opposed to the Fiber), slow CPU cores (but multiple in the 2u boxes) and other design decisions.

I also want to make sure that boxes are locked down with a permissions system to the player using them; particularly for the AWS systems since people are going to bring their own accounts for that which integrates with the server via the AWS API direct from the Minecraft server. This will be configurable in the mod but we do need to be careful to only allow this for online mode Minecraft servers, as offline mode ones don't restrict players from impersonating one another.

The serial console will literally give the user a serial console. It's the most basic interface; we will not provide any framebuffer/keyboard/mouse support. Basically, the serial terminal allows you to configure it enough to do basic things, and if you need more power, get an Internet card or use SSH.

Somehow, we will allow disks to be moved from system to system so that you can set up Lambda boxes without directly typing the code into the serial terminal for the lambda, although we will provide a basic LambdaOS for this interface so that you can type your code and provide your inputs.

I think that the Lambda component would be really cool (particularly since it's cheap compared to EC2 for what we're probably doing) but it might have some interesting implementation challenges. Values passed back and forth between the Lambda and the mod will probably need to have some standardized format so that we can share 1) game state to the Lambda based on the inserted cards and messages and 2) let the Lambda inform game state back to the game server.

Thumb Drive

@Caeleron wants a USB drive

  • USB Drive Item
  • USB simple block storage emulator for the various platforms

Enable VPC for Lambda

Enable users to specify the VPC in their account that their Lambda runs in.

Does GCP/Azure have something similar?

Serial Console

Create a working serial console that allows you to interface with computers

Ram

There will be relatively standard quantities:

  • 128MB
  • 256MB
  • 512MB
  • 1GB
  • 2GB
  • 4GB

We might need textures. I think we might have them already but need to check. Once that's done, make items and mark done.

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.