Tera API (node.js), Shop and Launcher with patcher for patch 92/100
Tera API + In-game Shop
API and In-game Shop implementation for the TERA Online retail server (patch 92/100) on Node.js. The API consists of four independent servers (Arbiter API, Portal API, Shop API and Admin Panel) running on different ports. Support of Arbiter server API functions, authorization, privileges, VIP items/benefits, Shop, Launcher API, SLS generator, etc.
Below is how to add the French language to the Launcher:
Copy the file src\locales\launcher\en.json to src\locales\launcher\fr.json.
Copy the file public\launcher\css\buttons-en.css to public\launcher\css\buttons-fr.css.
Open .env and add the line API_PORTAL_CLIENT_REGIONS_FRA=Français and save.
Restart TeraAPI.
Make sure you have a data center DataCenter_Final_FRA.dat in your Tera Client S1Data folder.
To translate the launcher, you need to edit file src\locales\launcher\fr.json.
If you need to translate buttons, edit the file public\launcher\css\buttons-fr.css with your own images.
Blank images of the buttons available here: https://forum.ragezone.com/f797/tera...ml#post9128933
Please note that the TERA Shop and Admin Panel will remain in English. To translate the TERA Shop, you need to copy file src\locales\shop\en.json to src\locales\shop\fr.json and add "fr" language entry to the file config\admin.js. Also you need to extract the necessary XMLs from the French data center and insert it to the API database using the method described here: https://github.com/justkeepquiet/ter...ata-datasheets.
Comparison of data centers with languages:
CHN: cn
EUR: en
FRA: fr
GER: de
INT: en
JPN: jp
KOR: kr
RUS: ru
SE: se
THA: th
TW: tw
USA: en
Recommended server startup order:
Spoiler:
1. hub and hub_gw
2. Steer Server services
3. Box Server services
4. TERA API
5. REST (Nexusserver, MatchServer, XigncodeProxy)
6. TopographyServer
7. arb_gw and ArbiterServer
8. WorldServer (PartyMatching, BattleField, DungeonServer)
9. TERA Server Proxy (if used)
Launcher
Launcher for Tera Online that supports patch 92 and 100. Based on the official version of the BHS launcher that works with the TW/JP localizers. This launcher supports all the functions of automatic game update and file integrity check. For these features to work, you need to use our tera-api. Translations an English and Russian available.
Changelog:
Spoiler:
Update 30.06.2022:
Updated executable file (issue with antivirus false positives).
/tera-api/public/patch/patch/ - game client packed files (like the 1-100.cab, 1-101.cab, etc.).
/tera-api/public/patch/db/ - update database files (like the server.db.1.cab).
/tera-api/public/patch/version.ini - generated by packer version.ini placed here.
Launcher update files structure:
/tera-api/public/patch/launcher_update/ - updates for launcher (files like LauncherInstaller_1.0.1.52.exe, created by Inno Setup script).
/tera-api/public/patch/launcher_info.ini - information file of launcher update version (edit manually).
Files and folders that must be removed from the client before packing:
\$Patch
\Binaries\cookies.dat
\S1Game\GuildFlagUpload
\S1Game\GuildLogoUpload
\S1Game\ImageCache
\S1Game\Logs
\S1Game\Screenshots
\S1Game\Config\S1Engine.ini
\S1Game\Config\S1Game.ini
\S1Game\Config\S1Input.ini
\S1Game\Config\S1Lightmass.ini
\S1Game\Config\S1Option.ini
\S1Game\Config\S1SystemSettings.ini
\S1Game\Config\S1TBASettings.ini
\S1Game\Config\S1UI.ini
\Launcher.exe
\local.db
\version.ini
22-05-22
S37uP!Update
Re: Tera API (node.js) and Launcher with pacher for patch 92/100
Copy the files to the your directory. (Where? What directory?)
Run the npm install command. (How, what do i need to open to run this command?)
Copy the .env.example file to .env. (Should i Rename the file?)
Configure the parameters in the .env file.
Impport the database structure to your MySQL server.
Execute the node src/app command, or run the file tera-api.bat to start API servers.
22-05-22
hsdn
Re: Tera API (node.js) and Launcher with pacher for patch 92/100
1. Any directory, like c:\tera-api.
2. This command is available after install node.js (just open windows cmd and type cd c:\tera-api and run npm install here).
3. You can copy or just rename (this is a example file).
22-05-22
S37uP!Update
Re: Tera API (node.js) and Launcher with pacher for patch 92/100
But this is an extra api right? It has nothing to do with TeraAPI right? I mean i start the server, and after starting the server i start this API right? Edit: and on this .env file i must edit only the username and password from mysql right? or should i change all 127.0.0.1 ips to my public ip? I want it public ip so i can play with friends!
22-05-22
hsdn
Re: Tera API (node.js) and Launcher with pacher for patch 92/100
This API replaces any old Tera API on Net or Java (laragon, Tera API .NET, grails, xampp etc.).
It is All-in-One solution for game server and launcher services (like the official Tera publisher).
- - - Updated - - -
You need to run this API before start of all native/retail Tera Servers (arb_gw, arbiter, etc.).
- - - Updated - - -
Quote:
Originally Posted by S37uP!Update
But this is an extra api right? It has nothing to do with TeraAPI right? I mean i start the server, and after starting the server i start this API right? Edit: and on this .env file i must edit only the username and password from mysql right? or should i change all 127.0.0.1 ips to my public ip? I want it public ip so i can play with friends!
The Arbiter API (API_ARBITER_LISTEN_HOST) must remain on the local network (at 127.0.0.1). It is needs only for Tera Server.
The Portal API (API_PORTAL_LISTEN_HOST) is needed for user authorization and launcher operation, you must open it outside.
22-05-22
S37uP!Update
Re: Tera API (node.js) and Launcher with pacher for patch 92/100
So from now on i have to use accountdb instead of accountdb_2008 for registering accounts via website register php script right?
(API_PORTAL_LISTEN_HOST) should i put my public ip there?
22-05-22
hsdn
Re: Tera API (node.js) and Launcher with pacher for patch 92/100
Quote:
Originally Posted by S37uP!Update
So from now on i have to use accountdb instead of accountdb_2008 for registering accounts via website register php script right?
(API_PORTAL_LISTEN_HOST) should i put my public ip there?
Right.
But note: the account database structure used differs from accountdb_2800.
The supported database structure is located in the share folder.
Also registration function is available into the Launcher (with reCAPTCHA secure if enabled). https://i.imgur.com/8F4ME6V.png
23-05-22
S37uP!Update
1 Attachment(s)
Re: Tera API (node.js) and Launcher with pacher for patch 92/100
In launcher.exe on address what port do i have to use? on old launcher we used it with port 81 to get this.
Also i noticed there is no LauncherMain file inside public/launcher/ folder.
23-05-22
hsdn
Re: Tera API (node.js) and Launcher with pacher for patch 92/100
Quote:
Originally Posted by S37uP!Update
In launcher.exe on address what port do i have to use? on old launcher we used it with port 81 to get this.
Also i noticed there is no LauncherMain file inside public/launcher/ folder.
You need specify your external IP. The port is specified the same as in API_PORTAL_LISTEN_PORT, for example 80.
If you want other users to be able to access you server - this port must be forwarded via NAT on your router.
23-05-22
S37uP!Update
1 Attachment(s)
Re: Tera API (node.js) and Launcher with pacher for patch 92/100
I know, i mean the entire address, where is this LauncherMain file located?
I have this error
23-05-22
hsdn
Re: Tera API (node.js) and Launcher with pacher for patch 92/100
For the Tera server to work, you only need to forward two ports: port 80 (Portal API) and port 7801 (Game Server).
In order for your server to appear in the list of servers, you need to add it to the server_info database table.
Based on this table, a Server List (SLS) is generated. Note that the isEnabled field must be set to 1. https://i.imgur.com/RCwHmq7.png https://i.imgur.com/RCwHmq7.png
- - - Updated - - -
Quote:
Originally Posted by S37uP!Update
I know, i mean the entire address, where is this LauncherMain file located?
I have this error
You can copy the launcher_info.ini into c:\tera-api\public\patch\launcher_update and edit this file to specity path to launcher installer (for launcher auto updates).
- - - Updated - - -
I will also note that this launcher will not launch the game if you do not have a patcher configured and a packages of the Tera client has not been created.
This project was created for those who want to open their server for public use with all the features: client auto-update, logging, registration with protection, etc.
For tests, you can switch the account to QA mode, to do this, set the value 10 in the privilege field in the account_info table.
Re: Tera API (node.js) and Launcher with pacher for patch 92/100
Thank you, right now i have this error.
PS: I managed to register account using the launcher, after that i got error on api console with version.ini file not being found, i've copied the version.ini from client to public\patch where launcher_info.ini is located and after that i get this error without launcher closing.
public/patch/db/server.db shows up in api. i don't have those files...
23-05-22
hsdn
Re: Tera API (node.js) and Launcher with pacher for patch 92/100
Quote:
Originally Posted by S37uP!Update
Thank you, right now i have this error.
Please read the information above.
You must make a pack of client using tera-client-packer, or set the account to QA mode for disable file checks and updates.
- - - Updated - - -
The "/public/patch/db/server.db.#.cab" file and other .cab (update) files is generated by tera-client-packer while packing of tera client for auto updates.
1. Only ports 8090 and 7801 are exposed
2. I sucessfully registered an account through launcher
3. server_info ok with IsEnabled 1
4. QA privilege in 10