LiteServerPackageGenerator/main.cpp

81 lines
2.2 KiB
C++

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cpplib/cpplib#time>
using namespace std;
char VERSION_STAMP[64];
int main()
{
/// Check exist
FILE* fp=fopen("service_running.log","r");
if(fp!=NULL)
{
printf("Only 1 Package Generator can be running in this directory at the same time.\n");
fclose(fp);
return 0;
}
system("echo Service is running > service_running.log");
s_time s=whattime();
sprintf(VERSION_STAMP,"%02d%02d%02d_%02d%02d%02d",s.year,s.mon,s.day,s.hour,s.min,s.sec);
printf("Version Stamp(AutoGenerated): %s\n",VERSION_STAMP);
char buffer[256];
memset(buffer,0,256);
sprintf(buffer,"LiteServer_Client_FullPackage_%s",VERSION_STAMP);
char cmd[1024];
memset(cmd,0,1024);
printf("Copying files...\n");
sprintf(cmd,"cp -r LiteServer_Client_FullPackage_Base %s",buffer);
system(cmd);
printf("Copying mods...\n");
sprintf(cmd,"cp -r LiteServer_Client_Mods\\* %s\\.minecraft\\mods",buffer);
system(cmd);
printf("Creating Readme...\n");
do
{
char fname[128];
memset(fname,0,128);
sprintf(fname,"%s\\Readme.txt",buffer);
FILE* fp=fopen(fname,"w");
if(fp)
{
fprintf(fp,
"===============================================\n"
"本安装包由LiteServer Package Generator自动生成.\n"
"作者: Kiritow.\n"
"生成日期: %d年%d月%d日 %02d:%02d:%02d\n"
"===============================================\n"
"欢迎加入LiteServer 群号: 693401480\n"
"玩的开心~",
s.year,s.mon,s.day,s.hour,s.min,s.sec);
fclose(fp);
printf("Readme generated.\n");
}
else
{
printf("Failed to create readme.\n");
return 0;
}
}while(0);
printf("Creating Package...\n");
sprintf(cmd,"zip -q -r -9 %s.zip %s\n",buffer,buffer);
system(cmd);
printf("Cleaning up...\n");
sprintf(cmd,"rm -rf %s",buffer);
system(cmd);
system("rm service_running.log");
printf("Finished.\n");
return 0;
}