LiteServerPackageGenerator/main.cpp

81 lines
2.2 KiB
C++
Raw Normal View History

2018-02-10 16:38:02 +08:00
#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"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>LiteServer Package Generator<6F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>.\n"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Kiritow.\n"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: %d<><64>%d<><64>%d<><64> %02d:%02d:%02d\n"
"===============================================\n"
"<EFBFBD><EFBFBD>ӭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>LiteServer Ⱥ<><C8BA>: 693401480\n"
"<EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>~",
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;
}