Giter VIP home page Giter VIP logo

docker-pennmush's Introduction

benramsey/pennmush

Source Code Latest Version Software License Docker Build Total Downloads

benramsey/pennmush is a Docker image for PennMUSH.

This project adheres to a Contributor Code of Conduct. By participating in this project and its community, you are expected to uphold this code.

Getting/Updating the Image

To get or update the benramsey/pennmush image, use the pull command:

docker pull benramsey/pennmush

This will always pull the image tagged as latest. If you would like to pull an image with a specific tag, specify the tag when pulling:

docker pull benramsey/pennmush:188p0

Running PennMUSH

To run benramsey/pennmush, specify a host port to proxy to 4201 on the running container, and map a directory on the host to the /mush/game directory on the container.

For example:

docker run -d \
    -p 4201:4201 \
    -v "/path/to/host/game/dir:/mush/game" \
    benramsey/pennmush:188p0

The first time you run the image, the container will create database and configuration files in /path/to/host/game/dir. You may edit these files according to your needs.

You should customize mush.cnf for your particular MUSH.

Connecting for the first time

You may use any MU* client to connect to PennMUSH. Telnet also works:

telnet localhost 4201

The first time you connect to PennMUSH, use the username One and password one. This is your MUSH "god" account, so be sure to change the password.

<This is where you announce that they've connected to your MUSH>
<It's a good idea to include the version/patchlevel of MUSH you're running>
<It's a good idea to include an email address for questions about the MUSH>
-----------------------------------------------------------------------------
Use create <name> <password> to create a character.
Use connect <name> <password> to connect to your existing character.
Use 'ch <name> <pass>' to connect hidden, and cd to connect DARK (admin)
Use QUIT to logout.
Use the WHO command to find out who is online currently.
-----------------------------------------------------------------------------
Yell at your local god to personalize this file!

> connect One one


Welcome to PennMUSH!
--------------------------------------------------------------------------
Yell at your god to personalize this file

Wizards, tell your friendly neighborhood god to personalize this file!


Last connect was from 127.0.0.1 on Wed Feb 20 04:27:09 2019.


MAIL: You have no mail.

Room Zero(#0RL)
You are in Room Zero.

> @password one=mynewpassword

Getting help

Type help to get a menu of help commands.

> help

This is the index to the MUSH online help files.

  For an explanation of the help system, type:    help newbie
  For a walkthrough of PennMUSH systems, type:    help getting started

  For the list of MUSH commands, type:            help commands
  For the list of MUSH topics, type:              help topics
  For an alphabetical list of all help entries:   help entries
  For information about PennMUSH:                 help code

  For a list of flags:                            help flag list
  For a list of functions:                        help function list
  For a list of attributes:                       help attribute list
  To see the configuration of this MUSH:          @config

  Use 'help <pattern>' to search for topic names that match the wildcard pattern
  <pattern>, or 'help/search <pattern>' for a list of topics whose text matches
  <pattern> (See HELP SEARCHING for details on the format of the pattern).

  On many MUSHes, list local commands with:       +help

  If there are any errors in the help text, please notify a wizard in the game,
  or file an issue at https://github.com/pennmush/pennmush/issues, which is the
  bug-tracking site for PennMUSH (and its distributed help files) but probably
  has no relation to this MUSH in particular.

Reboot and shutdown

Any time you make changes to configuration files, you need to reboot PennMUSH in order to reload the configuration files. You can do this while either connected to the MUSH through a client or Telnet, or you may send a reboot command through Docker to the running container.

While connected to PennMUSH using a MU* client, you may reboot/reload with the @shutdown/reboot command:

> @shutdown/reboot

GAME: Reboot w/o disconnect by One, please wait.
GAME: Saving database. Game may freeze for a few moments.
GAME: Save complete.
GAME: Reboot finished.

If you wish to reboot PennMUSH without connecting to a client, you may do so by sending a command to the Docker container. First, find the ID or name of the running container with docker ps. Then, send it a reboot command:

docker exec 3148b63e67d1 reboot

To dump data to the database and shutdown PennMUSH, use the @shutdown command while connected using a MU* client:

> @shutdown

GAME: Shutdown by One
Going down - Bye
Connection closed by foreign host.

Or you may send the shutdown command to the Docker container:

docker exec 3148b63e67d1 shutdown

Contributing

Contributions are welcome! Please read CONTRIBUTING for details.

Copyright and License

The benramsey/pennmush Docker image is copyright © Ben Ramsey and licensed for use under the MIT License (MIT). Please see LICENSE for more information.

docker-pennmush's People

Contributors

ramsey avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

docker-pennmush's Issues

Getting permissions problems in creating dirs at the end of the docker file

Describe the bug

Permission denied creating directories

pimush    | cp: cannot create regular file '/mush/game/./CONNLOG.md': Permission denied
pimush    | cp: cannot create regular file '/mush/game/./README': Permission denied
pimush    | cp: cannot create regular file '/mush/game/./access.README': Permission denied
pimush    | cp: cannot create regular file '/mush/game/./alias.cnf': Permission denied
pimush    | cp: cannot create regular file '/mush/game/./aliascnf.dst': Permission denied
pimush    | cp: cannot create directory '/mush/game/./data': Permission denied
pimush    | cp: cannot create regular file '/mush/game/./getdate.README': Permission denied
pimush    | cp: cannot create regular file '/mush/game/./getdate.template': Permission denied
pimush    | cp: cannot create symbolic link '/mush/game/./info_slave': Permission denied
pimush    | cp: cannot create directory '/mush/game/./log': Permission denied
pimush    | cp: cannot create regular file '/mush/game/./mush.cnf': Permission denied
pimush    | cp: cannot create regular file '/mush/game/./mushcnf.dst': Permission denied
pimush    | cp: cannot create regular file '/mush/game/./names.cnf': Permission denied
pimush    | cp: cannot create regular file '/mush/game/./namescnf.dst': Permission denied
pimush    | cp: cannot create symbolic link '/mush/game/./netmush': Permission denied
pimush    | cp: cannot create regular file '/mush/game/./restart': Permission denied
pimush    | cp: cannot create regular file '/mush/game/./restart.dst': Permission denied
pimush    | cp: cannot create regular file '/mush/game/./restrict.cnf': Permission denied
pimush    | cp: cannot create regular file '/mush/game/./restrictcnf.dst': Permission denied
pimush    | cp: cannot create directory '/mush/game/./save': Permission denied
pimush    | cp: cannot create symbolic link '/mush/game/./ssl_slave': Permission denied
pimush    | cp: cannot create directory '/mush/game/./txt': Permission denied
pimush    | cp: preserving times for '/mush/game/.': Operation not permitted
pimush exited with code 1

To Reproduce...

docker-compose.yaml

services:
  pimush:
    build: .
    container_name: pimush
    ports:
      - 4201:4201
    volumes:
      - ./game:/mush/game

Steps to reproduce the behavior.

docker-compose up

Expected behavior

Launches docker container successfully

Startup script does not look right

When the PennMUSH container starts to copy the files to the Volume I have mounted to /mush/game it says

cp: cannot create regular file '/mush/game/./CONNLOG.md': Permission denied
,cp: cannot create regular file '/mush/game/./README': Permission denied
,cp: cannot create regular file '/mush/game/./access.README': Permission denied
,cp: cannot create regular file '/mush/game/./alias.cnf': Permission denied
,cp: cannot create regular file '/mush/game/./aliascnf.dst': Permission denied
,cp: cannot create directory '/mush/game/./data': Permission denied
,cp: cannot create regular file '/mush/game/./getdate.README': Permission denied
,cp: cannot create regular file '/mush/game/./getdate.template': Permission denied
,cp: cannot create symbolic link '/mush/game/./info_slave': Permission denied
,cp: cannot create directory '/mush/game/./log': Permission denied
,cp: cannot create regular file '/mush/game/./mush.cnf': Permission denied
,cp: cannot create regular file '/mush/game/./mushcnf.dst': Permission denied
,cp: cannot create regular file '/mush/game/./names.cnf': Permission denied
,cp: cannot create regular file '/mush/game/./namescnf.dst': Permission denied
,cp: cannot create symbolic link '/mush/game/./netmush': Permission denied
,cp: cannot create regular file '/mush/game/./restart': Permission denied
,cp: cannot create regular file '/mush/game/./restart.dst': Permission denied
,cp: cannot create regular file '/mush/game/./restrict.cnf': Permission denied
,cp: cannot create regular file '/mush/game/./restrictcnf.dst': Permission denied
,cp: cannot create directory '/mush/game/./save': Permission denied
,cp: cannot create symbolic link '/mush/game/./ssl_slave': Permission denied
,cp: cannot create directory '/mush/game/./txt': Permission denied
,cp: preserving times for '/mush/game/.': Operation not permitted
,
Notice that the files are trying to be copied into the "." dot folder. That does not appear to be a valid operation. I have mounted the Volume into another Docker container and verified that I have write access to it. I created a file in the volume.

Some Questions

Hi there, I have some questions for the project maintainers.

I was looking at the dockerfile you have here to see about making a PennMUSH+ASpace container. I wanted to see if I could use this as a base and the following questions came up:

  1. Is there any reason build tools are still needed after Pennmush is built? Could the built artifacts not be copied to a new base container without the build-utils to minimize the size of the container?
  2. Why is the custom curl build needed? Is this a PennMUSH requirement?

Readme's running guide not working for me

Describe the bug

When I use the command described in the README to run the docker container, it does not work, the command just crashes.

To Reproduce...

Given that /home/docker/pennmud: is an empty directory in your machine, run:

docker run -p 4201:4201 -v "/home/docker/pennmud:/mush/game" benramsey/pennmush:188p0

Expected behavior

The docker runs and the server is accessible at port 4201.

Screenshots or output

cp: cannot create regular file '/mush/game/./CONNLOG.md': Permission denied
cp: cannot create regular file '/mush/game/./README': Permission denied
cp: cannot create regular file '/mush/game/./access.README': Permission denied
cp: cannot create regular file '/mush/game/./alias.cnf': Permission denied
cp: cannot create regular file '/mush/game/./aliascnf.dst': Permission denied
cp: cannot create directory '/mush/game/./data': Permission denied
cp: cannot create regular file '/mush/game/./getdate.README': Permission denied
cp: cannot create regular file '/mush/game/./getdate.template': Permission denied
cp: cannot create symbolic link '/mush/game/./info_slave': Permission denied
cp: cannot create regular file '/mush/game/./mush.cnf': Permission denied
cp: cannot create regular file '/mush/game/./mushcnf.dst': Permission denied
cp: cannot create regular file '/mush/game/./names.cnf': Permission denied
cp: cannot create regular file '/mush/game/./namescnf.dst': Permission denied
cp: cannot create symbolic link '/mush/game/./netmush': Permission denied
cp: cannot create regular file '/mush/game/./restart': Permission denied
cp: cannot create regular file '/mush/game/./restart.dst': Permission denied
cp: cannot create regular file '/mush/game/./restrict.cnf': Permission denied
cp: cannot create regular file '/mush/game/./restrictcnf.dst': Permission denied
cp: cannot create symbolic link '/mush/game/./ssl_slave': Permission denied
cp: cannot create directory '/mush/game/./log': Permission denied
cp: cannot create directory '/mush/game/./save': Permission denied
cp: cannot create directory '/mush/game/./txt': Permission denied
cp: preserving times for '/mush/game/.': Operation not permitted

Environment details

  • OS: Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-136-generic x86_64)
  • benramsey/pennmush version: latest, 188p0

Additional context

I have also tried to add the z and Z options to the command like so:

docker run -p 4201:4201 -v "/home/docker/pennmud:/mush/game:z" benramsey/pennmush:188p0

I have also changed the permissions of the /home/docker/pennmud directory to 777.
In both cases the output remains the same.
Also tried to run the command with sudo.

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.