Nethack Launcher
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
2.8 KiB

FROM debian:stretch
5 years ago
# install needed packages
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
openssh-server \
autoconf \
bison \
bsdmainutils \
bzip2 \
flex \
gcc \
gdb \
git \
groff \
libncursesw5-dev \
libsqlite3-dev \
libboost1.62-dev \
libboost-all-dev \
libncurses5-dev \
libncursesw5-dev \
lua5.1 \
liblua5.1-0-dev \
libsdl2-dev \
5 years ago
libsdl2-image-2.0-0 \
libsdl2-image-dev \
libxerces-c-dev \
make \
ncurses-dev \
premake4 \
sqlite3 \
tar \
telnetd \
xinetd \
locales \
wget \
zlibc \
vim
RUN apt-get clean
# TODO
# nightly instructions
#
RUN git clone https://github.com/NetHack/NetHack.git
RUN cd NetHack && \
git checkout NetHack-3.6 && \
sed -i 's/#ifndef SYSCF/#ifdef SYSCF/g' include/config.h && \
sys/unix/setup.sh sys/unix/hints/linux && \
sed -i '/POSTINSTALL=/d' Makefile && \
sed -i 's/.*-DSYSCF -DSYSCF_FILE=.*/CFLAGS+=-DSECURE/' Makefile && \
sed -i 's/#CFLAGS+=-DSCORE_ON_BOTL/CFLAGS+=-DSCORE_ON_BOTL/' Makefile && \
cat Makefile && \
make all && \
make install
RUN find /* -name nethack
RUN chmod 777 /NetHack/sys/unix/sysconf
5 years ago
# update sysconf
RUN sed -i 's/.*WIZARDS=.*/#WIZARDS=/' /NetHack/sys/unix/sysconf
RUN sed -i 's/.*GENERICUSERS=.*/#GENERICUSERS=/' /NetHack/sys/unix/sysconf
RUN sed -i 's/.*MAXPLAYERS=.*/MAXPLAYERS=0/' /NetHack/sys/unix/sysconf
5 years ago
# make required dirs
RUN mkdir -p /redisbackup/
## update nethack bin location
RUN cp /NetHack/src/nethack /bin/nethack
RUN chmod 777 /bin/nethack
RUN mkdir /hack/
5 years ago
# update ssh config
RUN echo "AllowUsers nethack" >> /etc/ssh/sshd_config
RUN echo "PermitEmptyPasswords yes" >> /etc/ssh/sshd_config
# add hack user
RUN useradd nethack -d / -s /nethack-launcher
RUN echo 'nethack:U6aMy0wojraho' | chpasswd -e
RUN chown -R nethack /hack/
RUN chown -R nethack /NetHack/
RUN touch /.hushlogin
# build ttyrec
RUN git clone https://github.com/ovh/ovh-ttyrec && \
cd ovh-ttyrec && \
./configure && make && make install
# remove ttyrec artifacts
RUN rm -rf ovh-ttyrec/
RUN DEBIAN_FRONTEND=noninteractive apt-get remove -y\
make \
git \
autoconf \
bison \
bsdmainutils \
flex \
groff
# build reclist
COPY reclist.c /
RUN gcc reclist.c -o /bin/reclist
RUN rm reclist.c
5 years ago
# copy in files
COPY redis-server /usr/bin/
5 years ago
COPY config.gcfg /
COPY nethack-launcher /
COPY redis.conf /
COPY run.sh /
COPY chowner.sh /bin/
COPY nethackrc /.nethackrc
COPY run_nethack.sh /
COPY link_sotw.sh /bin/
ADD sotw.tar.gz /
RUN mv /shadow-of-the-wyrm* /sotw/
COPY scores.dat /sotw/
# update ini to match current season by default
RUN cd /sotw && \
sed -i 's/current_month_is_start_month=0/current_month_is_start_month=1/g' swyrm.ini
5 years ago
CMD ["/run.sh"]