OnDemandMinecraft-Mirrored | An AWS hosted Minecraft server that will only run when players are active. Players can start the ser
kandi X-RAY | OnDemandMinecraft-Mirrored Summary
kandi X-RAY | OnDemandMinecraft-Mirrored Summary
OnDemandMinecraft-Mirrored is a Python library. OnDemandMinecraft-Mirrored has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has low support. You can download it from GitHub.
An AWS hosted Minecraft server that will only run when players are active. Players can start the server through a simple UI accessed through free Heroku server hosting. Mirrored from the fork:
An AWS hosted Minecraft server that will only run when players are active. Players can start the server through a simple UI accessed through free Heroku server hosting. Mirrored from the fork:
Support
Quality
Security
License
Reuse
Support
OnDemandMinecraft-Mirrored has a low active ecosystem.
It has 8 star(s) with 1 fork(s). There are 3 watchers for this library.
It had no major release in the last 6 months.
OnDemandMinecraft-Mirrored has no issues reported. There are 4 open pull requests and 0 closed requests.
It has a neutral sentiment in the developer community.
The latest version of OnDemandMinecraft-Mirrored is current.
Quality
OnDemandMinecraft-Mirrored has no bugs reported.
Security
OnDemandMinecraft-Mirrored has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
License
OnDemandMinecraft-Mirrored is licensed under the MIT License. This license is Permissive.
Permissive licenses have the least restrictions, and you can use them in most projects.
Reuse
OnDemandMinecraft-Mirrored releases are not available. You will need to build from source code and install.
Build file is available. You can build the component from source.
Installation instructions, examples and code snippets are available.
Top functions reviewed by kandi - BETA
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of OnDemandMinecraft-Mirrored
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of OnDemandMinecraft-Mirrored
OnDemandMinecraft-Mirrored Key Features
No Key Features are available at this moment for OnDemandMinecraft-Mirrored.
OnDemandMinecraft-Mirrored Examples and Code Snippets
No Code Snippets are available at this moment for OnDemandMinecraft-Mirrored.
Community Discussions
No Community Discussions are available at this moment for OnDemandMinecraft-Mirrored.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install OnDemandMinecraft-Mirrored
This step will properly configure your AWS account and ec2_conf.yml so that an instance can be created via the server.py script (using the flag -r create_instance).
Create or access an AWS Account. Under the User Dropdown in the Toolbar, select Security Credentials, then Access Keys, and finally Create New Access Key. Download this file, open it, and copy the values of AWSAccessKeyId and AWSSecretKey to access_key and secret_key in the ec2_conf.yml file. aws: - config: access_key: YourAWSAccessKeyIdHere # Modify this secret_key: YourAWSSecretKeyHere # Modify this ............................................................
Navigate to the EC2 Dashboard under the Services Dropdown and select Security Groups in the sidebar. Select Create Security Group, input minecraft for the Security group name. Create Inbound Rules for the following: Type: SSH Protocol: TCP Port Range: 22 Source: Anywhere Type: Custom TCP Rule Protocol: TCP Port Range: 25565 Source: Anywhere Type: Custom UDP Rule Protocol: UDP Port Range: 25565 Source: Anywhere In ec2_conf.yml, set ec2_secgroups to the name of the security group. aws: - config: access_key: YourAWSAccessKeyIdHere secret_key: YourAWSSecretKeyHere ec2_secgroups: - YourGroupNameHere # Modify this ............................................................
Under the EC2 Dashboard navigate to Key Pairs in the sidebar. Select Create Key Pair, provide a name and create. Move the file that is downloaded into the ./keys directory in the project. In ec2_conf.yml, set ec2_keypair to the name entered, and ssh_key_file_name to the name.pem of the file downloaded. THIS MIGHT BE SUBJECT TO CHANGE aws: - config: access_key: YourAWSAccessKeyIdHere secret_key: YourAWSSecretKeyHere ec2_secgroups: - YourGroupNameHere ec2_keypair: YourKeyPairName # Modify this mineserver: - config: ssh_key_file_path: ./keys/YourKeyFileName.pem # Modify this ............................................................ You have also the option to upload the key to Dropbox in order to keep it hidden from the repo. See the Dropbox Setup section.
This step is concerned with creating the AWS instance. View https://docs.aws.amazon.com/general/latest/gr/rande.html (Or google AWS Regions), and copy the Region column for the Region Name of where you wish to host your server. In ec2_conf.yml, set the ec2_region variable to the copied value. aws: - config: access_key: YourAWSAccessKeyIdHere secret_key: YourAWSSecretKeyHere ec2_secgroups: - YourGroupNameHere ec2_keypair: YourKeyPairName ec2_region: Your-Region-Here # Modify this mineserver: - config: ssh_key_file_path: ./keys/YourKeyFileName.pem ............................................................
Navigate to https://aws.amazon.com/ec2/instance-types/ and select one of the T3 types (with the memory and CPU you desire, I recommend 10 players/GB). Copy the value in the Model column. I've configured mine to use t3.small. In ec2_conf.yml, set the ec2_instancetype variable to the copied value. aws: - config: access_key: YourAWSAccessKeyIdHere secret_key: YourAWSSecretKeyHere ec2_secgroups: - YourGroupNameHere ec2_keypair: YourKeyPairName ec2_region: Your-Region-Here ec2_instancetype: t3.yourSizeHere # Modify this mineserver: - config: ssh_key_file_path: ./keys/YourKeyFileName.pem ............................................................
Then we must select an image for the instance to boot. Navigate to https://cloud-images.ubuntu.com/locator/ec2/, in the filter at the bottom of the screen, select your region of choice under Zone, pick any LTS (Latest Stable) under Version, under Arch select amd64, and hvm:ebs under Instance Type. Select one of the images available and copy the AMI-ID. In ec2_conf.yml, set the ec2_amis variable to the copied value. aws: - config: access_key: YourAWSAccessKeyIdHere secret_key: YourAWSSecretKeyHere ec2_secgroups: - YourGroupNameHere ec2_keypair: YourKeyPairName ec2_region: Your-Region-Here ec2_instancetype: t3.yourSizeHere ec2_amis: - ami-YourImageIdHere # Modify this mineserver: - config: ssh_key_file_path: ./keys/YourKeyFileName.pem ............................................................
At this point you should have the necessary configuration to create a new instance through the server.py script (using the flag -r create_instance flag) in the root folder. Open a command line in the root directory of the project, and execute: pip install -r requirements.txt After successful installation of dependencies execute: python server.py -r create_instance -c configs/ec2_conf.yml Copy the Instance ID that is output into the terminal. In ec2_conf.yml, set the instance_id variable to the copied value. aws: - config: access_key: YourAWSAccessKeyIdHere secret_key: YourAWSSecretKeyHere instance_id: i-yourInstanceIdHere # Modify this ec2_secgroups: - YourGroupNameHere ec2_keypair: YourKeyPairName ec2_region: Your-Region-Here ec2_instancetype: t3.yourSizeHere ec2_amis: - ami-YourImageIdHere mineserver: - config: ssh_key_file_path: ./keys/YourKeyFileName.pem ............................................................
In this step, you have the option to use Dropbox in order to upload your ssh key file there for it to be hidden from the Github repo and at the same time available for download from Heroku when needed. You can skip this step if you you want to use a private repository.
Setup a Dropbox account if you haven't already.
Create an Api Key for your Dropbox account.
Add the cloudstore section in the ec2_conf.yml file: aws: - config: access_key: YourAWSAccessKeyIdHere secret_key: YourAWSSecretKeyHere instance_id: i-yourInstanceIdHere ec2_secgroups: - YourGroupNameHere ec2_keypair: YourKeyPairName ec2_region: Your-Region-Here ec2_instancetype: t3.yourSizeHere ec2_amis: - ami-YourImageIdHere mineserver: - config: ssh_key_file_path: ./keys/YourKeyFileName.pem web_client: - config: server_password: YourPasswordHere # Modify this cloudstore: - config: api_key: !ENV ${DROPBOX_API_KEY} # Modify this remote_folder: OnDemandMinecraft # Modify this ............................................................
Set an os variable for the Dropbox api key (as described in the 5th step of the previous section) and modify the corresponding section in the ec2_conf.yml file.
Do the same for the remote_folder which represents tha name of the Dropbox in which the ssh key file will be stored.
Lastly, after placing the ssh key file in the keys folder, upload the file by executing: python server.py -c configs/ >.yml -r upload_key_file
Create or access an AWS Account. Under the User Dropdown in the Toolbar, select Security Credentials, then Access Keys, and finally Create New Access Key. Download this file, open it, and copy the values of AWSAccessKeyId and AWSSecretKey to access_key and secret_key in the ec2_conf.yml file. aws: - config: access_key: YourAWSAccessKeyIdHere # Modify this secret_key: YourAWSSecretKeyHere # Modify this ............................................................
Navigate to the EC2 Dashboard under the Services Dropdown and select Security Groups in the sidebar. Select Create Security Group, input minecraft for the Security group name. Create Inbound Rules for the following: Type: SSH Protocol: TCP Port Range: 22 Source: Anywhere Type: Custom TCP Rule Protocol: TCP Port Range: 25565 Source: Anywhere Type: Custom UDP Rule Protocol: UDP Port Range: 25565 Source: Anywhere In ec2_conf.yml, set ec2_secgroups to the name of the security group. aws: - config: access_key: YourAWSAccessKeyIdHere secret_key: YourAWSSecretKeyHere ec2_secgroups: - YourGroupNameHere # Modify this ............................................................
Under the EC2 Dashboard navigate to Key Pairs in the sidebar. Select Create Key Pair, provide a name and create. Move the file that is downloaded into the ./keys directory in the project. In ec2_conf.yml, set ec2_keypair to the name entered, and ssh_key_file_name to the name.pem of the file downloaded. THIS MIGHT BE SUBJECT TO CHANGE aws: - config: access_key: YourAWSAccessKeyIdHere secret_key: YourAWSSecretKeyHere ec2_secgroups: - YourGroupNameHere ec2_keypair: YourKeyPairName # Modify this mineserver: - config: ssh_key_file_path: ./keys/YourKeyFileName.pem # Modify this ............................................................ You have also the option to upload the key to Dropbox in order to keep it hidden from the repo. See the Dropbox Setup section.
This step is concerned with creating the AWS instance. View https://docs.aws.amazon.com/general/latest/gr/rande.html (Or google AWS Regions), and copy the Region column for the Region Name of where you wish to host your server. In ec2_conf.yml, set the ec2_region variable to the copied value. aws: - config: access_key: YourAWSAccessKeyIdHere secret_key: YourAWSSecretKeyHere ec2_secgroups: - YourGroupNameHere ec2_keypair: YourKeyPairName ec2_region: Your-Region-Here # Modify this mineserver: - config: ssh_key_file_path: ./keys/YourKeyFileName.pem ............................................................
Navigate to https://aws.amazon.com/ec2/instance-types/ and select one of the T3 types (with the memory and CPU you desire, I recommend 10 players/GB). Copy the value in the Model column. I've configured mine to use t3.small. In ec2_conf.yml, set the ec2_instancetype variable to the copied value. aws: - config: access_key: YourAWSAccessKeyIdHere secret_key: YourAWSSecretKeyHere ec2_secgroups: - YourGroupNameHere ec2_keypair: YourKeyPairName ec2_region: Your-Region-Here ec2_instancetype: t3.yourSizeHere # Modify this mineserver: - config: ssh_key_file_path: ./keys/YourKeyFileName.pem ............................................................
Then we must select an image for the instance to boot. Navigate to https://cloud-images.ubuntu.com/locator/ec2/, in the filter at the bottom of the screen, select your region of choice under Zone, pick any LTS (Latest Stable) under Version, under Arch select amd64, and hvm:ebs under Instance Type. Select one of the images available and copy the AMI-ID. In ec2_conf.yml, set the ec2_amis variable to the copied value. aws: - config: access_key: YourAWSAccessKeyIdHere secret_key: YourAWSSecretKeyHere ec2_secgroups: - YourGroupNameHere ec2_keypair: YourKeyPairName ec2_region: Your-Region-Here ec2_instancetype: t3.yourSizeHere ec2_amis: - ami-YourImageIdHere # Modify this mineserver: - config: ssh_key_file_path: ./keys/YourKeyFileName.pem ............................................................
At this point you should have the necessary configuration to create a new instance through the server.py script (using the flag -r create_instance flag) in the root folder. Open a command line in the root directory of the project, and execute: pip install -r requirements.txt After successful installation of dependencies execute: python server.py -r create_instance -c configs/ec2_conf.yml Copy the Instance ID that is output into the terminal. In ec2_conf.yml, set the instance_id variable to the copied value. aws: - config: access_key: YourAWSAccessKeyIdHere secret_key: YourAWSSecretKeyHere instance_id: i-yourInstanceIdHere # Modify this ec2_secgroups: - YourGroupNameHere ec2_keypair: YourKeyPairName ec2_region: Your-Region-Here ec2_instancetype: t3.yourSizeHere ec2_amis: - ami-YourImageIdHere mineserver: - config: ssh_key_file_path: ./keys/YourKeyFileName.pem ............................................................
In this step, you have the option to use Dropbox in order to upload your ssh key file there for it to be hidden from the Github repo and at the same time available for download from Heroku when needed. You can skip this step if you you want to use a private repository.
Setup a Dropbox account if you haven't already.
Create an Api Key for your Dropbox account.
Add the cloudstore section in the ec2_conf.yml file: aws: - config: access_key: YourAWSAccessKeyIdHere secret_key: YourAWSSecretKeyHere instance_id: i-yourInstanceIdHere ec2_secgroups: - YourGroupNameHere ec2_keypair: YourKeyPairName ec2_region: Your-Region-Here ec2_instancetype: t3.yourSizeHere ec2_amis: - ami-YourImageIdHere mineserver: - config: ssh_key_file_path: ./keys/YourKeyFileName.pem web_client: - config: server_password: YourPasswordHere # Modify this cloudstore: - config: api_key: !ENV ${DROPBOX_API_KEY} # Modify this remote_folder: OnDemandMinecraft # Modify this ............................................................
Set an os variable for the Dropbox api key (as described in the 5th step of the previous section) and modify the corresponding section in the ec2_conf.yml file.
Do the same for the remote_folder which represents tha name of the Dropbox in which the ssh key file will be stored.
Lastly, after placing the ssh key file in the keys folder, upload the file by executing: python server.py -c configs/ >.yml -r upload_key_file
Support
For any new features, suggestions and bugs create an issue on GitHub.
If you have any questions check and ask questions on community page Stack Overflow .
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page