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. their godchildren, their godchildren's mother, and some of Sabrina's gamer friends.
[u][b]List of mods in this pack:[/b][/u] [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 AE Additions - ExtraCells2 Fork 1.3.8
Applied Energistics 2 rv6-stable-7 Applied Energistics 2 rv6-stable-7
Backpacks 3.0.2 Backpacks 3.0.2