Singin! punctuality / docs
These steps can be done on any computer satisfying the Preparation Environment requirements.
- Make sure you have a GNU C++ Compiler with C++17 support.
- Head to
ext/dbmanipdirectory, and run_compile_dbquery.bat. - Check the output
dbquery.exe.
You may find that dbquery.exe is already in the directory. It is a precompiled version for those who didn't manage to compile it. However it's not always guaranteed to work.
Some softwares are required.
- The whole package of your compiled code.
- An apache environment installer with PHP 7 support (if you don't want to bother with this, WampServer may suit you).
- Database explorer supporting encrypted files, like Database 4 .NET (this is probably already present on the server).
DesktopLaunchDaemon.ziparchive in this repo.- Code editor (portable ones recommended).
Bring a USB stick containing the softwares above, and head towards the server!
- Locate the game server you want to patch. Find the control box on the side of the machine.
- Find a technique to plug keyboards and USB sticks into the server.
- Find the IP address of the server.
- Locate game service
SmartBoard. - Locate
localData.dbon the server, and crack the password (use your database explorer, and this should not prove difficult).
Extra steps if you want to use Traditional Ability or Run Singin[WIP].
- Find the IP of the student platform server (this can be found on a handheld sign-in device, try to borrow one).
- Get to know the naming rule of handheld sign-in devices (probably
runhand#, like in the sample config).
- Plug a keyboard into the server (find the technique by yourself).
- Open command prompt and kill
LockMouse.exe. - Create another administrator account with your custom password for remote control.
- If you plan to change the password of the default Administrator, open
netplwizand reconfigure auto login after doing so, otherwise the auto boot will fail.
- Plug your USB stick into the server.
- Unzip
DesktopLaunchDaemon.ziptoC:\SystemComponent\DesktopLaunch\, and setDesktopLaunchDaemon.exeto start on boot.
Note: For this, you cannot uses the task scheduler. You could put the shortcut ofDesktopLaunchDaemon.exeintoStartupfolder. - Install Apache environment.
- Configure httpd to start on boot.
For WampServer environment, executenet start wampapache64on boot using task scheduler. - Check the IP address of your client, and edit
httpd.confto make the server accept it. - Put all your compiled code (except
DesktopLaunchDaemon.zip) into the web document directory (not necessarily at document root). - Rename
data.initfolder todata. - Remove your USB stick from the server.
This is not required. It's about hiding your apache environment so it cannot be easily found.
- Set the installation folder as System Protected and Hidden. Google it if you don't know how.
- Remove start menu and desktop shortcut. Empty the recycle bin!
- Check register item
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\, find the record with{wampserver}, and delete it.
- Open
.htaccessusing a proper editor and setRewriteBase.
For example, if the web URL ishttp://10.241.1.9:88/app/singin/, you should writeRewriteBase /app/singin/. - In
.htaccess, set a proper.htpasswdfile, or remove the first section if you don't need password protection (this is not recommended). - Rename
internal_config/config.sample.phptoconfig.php, set theBASIC_URLconstant and other items properly.
Checklib/config_default.phpfor more available options. - Check the IP address of the server, and access the web URL using a browser on the client to see if there's any errors.
If .htpasswd is configured, you can create a URL shortcut on the client PC for convenience. Auto-login can be set in this way:
http://username:[email protected]:5723/path/to/service/