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.
120 lines
2.8 KiB
120 lines
2.8 KiB
FROM debian:stable-slim |
|
|
|
# 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 \ |
|
libboost-all-dev \ |
|
libncurses5-dev \ |
|
libncursesw5-dev \ |
|
lua5.1 \ |
|
liblua5.1-0-dev \ |
|
libsdl2-dev \ |
|
libsdl2-image-2.0-0 \ |
|
libsdl2-mixer-2.0-0 \ |
|
libsdl2-image-dev \ |
|
libxerces-c-dev \ |
|
make \ |
|
ncurses-dev \ |
|
premake4 \ |
|
sqlite3 \ |
|
redis-server \ |
|
tar \ |
|
telnetd \ |
|
xinetd \ |
|
locales \ |
|
wget \ |
|
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 |
|
|
|
# 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 |
|
|
|
# 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/ |
|
|
|
# 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 |
|
|
|
# copy in files |
|
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/ |
|
COPY clean.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 |
|
|
|
CMD ["/run.sh"]
|
|
|