added Makefile and remaining build infrastructure

This commit is contained in:
Amy G. Bowersox 2023-01-24 21:17:49 -07:00
parent 08e9164390
commit fc85492a28
8 changed files with 123 additions and 2 deletions

60
Makefile Normal file
View File

@ -0,0 +1,60 @@
# Makefile for Erbosoft Sierra Modpack
# AGRB 1/24/2023
VERSION=0.1
FORGEMOD=forge-1.12.2-14.23.5.2859-universal.jar
FORGEINSTALLER=forge-1.12.2-14.23.5.2859-installer.jar
all: client-modpack server-pack
client-modpack: verify-mods
mkdir -p build/client
-rm -rf build/client/*
mkdir build/client/{bin,config,coremods,mods}
cp mods-source/forge/${FORGEMOD} build/client/bin/modpack.jar
for i in $(scripts/list-mods mods-source/server); do
cp mods-source/server/$i build/client/mods
done
for i in $(scripts/list-mods mods-source/client); do
cp mods-source/client/$i build/client/mods
done
cp -r config-source/* build/client/config
-rm -f build/erbosoft-sierra-${VERSION}.zip
cd build/client; zip -r ../erbosoft-sierra-${VERSION}.zip .
server-pack: verify-mods
mkdir -p build/server
-rm -rf build/server/*
cp mods-source/forge/${FORGEINSTALLER} build/server
cd build/server; java -jar ./${FORGEINSTALLER} -installServer
rm -f build/server/${FORGEINSTALLER}*
mkdir build/server/{config,mods}
for i in $(scripts/list-mods mods-source/server); do
cp mods-source/server/$i build/server/mods
done
for i in $(scripts/list-mods mods-source/client); do
cp mods-source/client/$i build/server/mods
done
cp -r config-source/* build/server/config
sed -e 's/@FORGEJAR@/${FORGEMOD}/' scripts/launch.sh.template > build/server/launch.sh
chmod 755 build/server/launch.sh
sed -e 's/@FORGEJAR@/${FORGEMOD}/' scripts/launch.bat.template > build/server/launch.bat
unix2dos build/server/launch.bat
cp scripts/eula.txt.template build/server/eula.txt
sed -e 's/@VERSION@/${VERSION}/' scripts/server.properties.template > build/server/server.properties
-rm -f build/erbosoft-sierra-server-${VERSION}.zip
cd build/server; zip -r ../erbosoft-sierra-server-${VERSION}.zip .
verify-mods:
scripts/verify-mod-downloads mods-source/forge
scripts/verify-mod-downloads mods-source/server
scripts/verify-mod-downloads mods-source/client
sort-modlists:
scripts/sort-modlist mods-source/forge
scripts/sort-modlist mods-source/server
scripts/sort-modlist mods-source/client
clean:
-rm -rf build/
find . -name '*~' -delete

View File

@ -1 +1,2 @@
forge-1.12.2-14.23.5.2860-universal.jar|https://files.minecraftforge.net/net/minecraftforge/forge/index_1.12.2.html
forge-1.12.2-14.23.5.2859-installer.jar|https://files.minecraftforge.net/net/minecraftforge/forge/index_1.12.2.html
forge-1.12.2-14.23.5.2859-universal.jar|https://files.minecraftforge.net/net/minecraftforge/forge/index_1.12.2.html

View File

@ -0,0 +1,3 @@
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Tue Nov 17 17:47:41 MST 2015
eula=true

View File

@ -0,0 +1 @@
java -Xmx4G -XX:MaxPermSize=256m -jar @FORGEJAR@

View File

@ -0,0 +1,6 @@
#!/bin/sh
MEMSZ=4G
PERMSZ=256m
FORGEJAR=@FORGEJAR@
exec java -Xmx$MEMSZ -XX:MaxPermSize=$PERMSZ -jar $FORGEJAR

17
scripts/list-mods Executable file
View File

@ -0,0 +1,17 @@
#!/usr/bin/perl
# list-mods - Lists out the contents of the modlist.txt to just show the mod JAR names.
# AGRB 1/24/2023
die "Usage: $0 directory-name\n" if $#ARGV < 0;
my $dir = $ARGV[0];
die "$0: $dir is not a directory\n" unless -d $dir;
die "$0: $dir does not contain a modlist.txt\n" unless -f "$dir/modlist.txt";
open MODLIST, "<$dir/modlist.txt" or die "$0: unable to open $dir/modlist.txt";
while (<MODLIST>) {
chomp;
next if /^\s*#/;
($modjar, $url) = split(/\|/);
print "$modjar\n"
}
close MODLIST;
exit 0;

View File

@ -0,0 +1,33 @@
#Minecraft server properties
#Tue Nov 17 17:51:25 MST 2015
generator-settings=
op-permission-level=4
allow-nether=true
level-name=world
enable-query=false
allow-flight=false
announce-player-achievements=true
server-port=25565
level-type=DEFAULT
enable-rcon=false
level-seed=
force-gamemode=false
server-ip=
max-build-height=256
spawn-npcs=true
white-list=false
spawn-animals=true
hardcore=false
snooper-enabled=true
online-mode=true
resource-pack=
pvp=true
difficulty=1
enable-command-block=false
gamemode=0
player-idle-timeout=0
max-players=20
spawn-monsters=true
generate-structures=true
view-distance=10
motd=Erbosoft Sierra @VERSION@ Server

View File

@ -8,7 +8,7 @@ support a lot of the mods we like to use. Users of this modpack include Amy, Sa
their godchildren, their godchildren's mother, and some of Sabrina's gamer friends.
[u][b]List of mods in this pack:[/b][/u]
Forge Universal 14.23.5.2860
Forge Universal 14.23.5.2859
AE Additions - ExtraCells2 Fork 1.3.8
Applied Energistics 2 rv6-stable-7
Backpacks 3.0.2