Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -130,3 +130,5 @@ interface/compiledResources
# Act local GitHub Actions
.secret

.kdev4/overte.kdev4
overte.kdev4
8 changes: 7 additions & 1 deletion assignment-client/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,25 @@

#include <BuildInfo.h>
#include <SharedUtil.h>
#include "SettingManager.h"
#include "SettingHelpers.h"

#include "AssignmentClientApp.h"
#include <SettingInterface.h>
#include <crash-handler/CrashHandler.h>


int main(int argc, char* argv[]) {
setupHifiApplication(BuildInfo::ASSIGNMENT_CLIENT_NAME);

//QVariantMap settingsToSet;

Setting::init();

AssignmentClientApp app(argc, argv);
auto &ch = CrashHandler::getInstance();
ch.startMonitor(&app);


int acReturn = app.exec();
qDebug() << "assignment-client process" << app.applicationPid() << "exiting with status code" << acReturn;

Expand Down
1 change: 1 addition & 0 deletions assignment-client/src/messages/MessagesMixer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ void MessagesMixer::domainSettingsRequestComplete() {
void MessagesMixer::parseDomainServerSettings(const QJsonObject& domainSettings) {
commonParseSettingsObject(domainSettings);

qDebug() << "[configuration_dump]" << domainSettings;
const QString MESSAGES_MIXER_SETTINGS_KEY = "messages_mixer";
QJsonObject messagesMixerGroupObject = domainSettings[MESSAGES_MIXER_SETTINGS_KEY].toObject();

Expand Down
2 changes: 1 addition & 1 deletion domain-server/resources/describe-settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2099,4 +2099,4 @@
]
}
]
}
}
8 changes: 7 additions & 1 deletion domain-server/src/DomainServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,7 @@ DomainServer::DomainServer(int argc, char* argv[]) :
initializeMetadataExporter();
}

void DomainServer::parseCommandLine(int argc, char* argv[]) {
void DomainServer::parseCommandLine(int argc, char* argv[], QVariantMap &settingsToSet) {
QCommandLineParser parser;
parser.setApplicationDescription("Overte Domain Server");
const QCommandLineOption versionOption = parser.addVersionOption();
Expand All @@ -428,6 +428,9 @@ void DomainServer::parseCommandLine(int argc, char* argv[]) {
const QCommandLineOption logOption("logOptions", "Logging options, comma separated: color,nocolor,process_id,thread_id,milliseconds,keep_repeats,journald,nojournald", "options");
parser.addOption(logOption);

const QCommandLineOption SetMetaverseverseURL("mv", "Set your metaverse api (Default: https://mv.overte.org/server)", "DIRECTORY_SERVER_HOSTNAME");
parser.addOption(SetMetaverseverseURL);

const QCommandLineOption forceCrashReportingOption("forceCrashReporting", "Force crash reporting to initialize.");
parser.addOption(forceCrashReportingOption);

Expand Down Expand Up @@ -505,6 +508,9 @@ void DomainServer::parseCommandLine(int argc, char* argv[]) {
}
}

if(parser.isSet(SetMetaverseverseURL)) {
settingsToSet.insert("private/selectedMetaverseURL", parser.value(SetMetaverseverseURL));
}
if (parser.isSet(forceCrashReportingOption)) {
_forceCrashReporting = true;
}
Expand Down
2 changes: 1 addition & 1 deletion domain-server/src/DomainServer.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class DomainServer : public QCoreApplication, public HTTPSRequestHandler {
DomainServer(int argc, char* argv[]);
~DomainServer();

static void parseCommandLine(int argc, char* argv[]);
static void parseCommandLine(int argc, char* argv[], QVariantMap &settingsToSet);

enum DomainType {
NonMetaverse,
Expand Down
9 changes: 8 additions & 1 deletion domain-server/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,17 @@
int main(int argc, char* argv[]) {
setupHifiApplication(BuildInfo::DOMAIN_SERVER_NAME);

DomainServer::parseCommandLine(argc, argv);
QVariantMap settingsToSet;

DomainServer::parseCommandLine(argc, argv, settingsToSet);

Setting::init();

for(auto i = settingsToSet.begin(); i != settingsToSet.end(); i++) {
Setting::Handle<QVariant> settings(i.key(), i.value());
settings.set(i.value());
}

int currentExitCode = 0;

// use a do-while to handle domain-server restart
Expand Down
1 change: 1 addition & 0 deletions libraries/networking/src/DomainHandler.h
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,7 @@ private slots:
QUuid _uuid;
Node::LocalID _localID;
QUrl _domainURL;
QUrl _metaverseURL; //TODO: This needs to be changed at some point.
QUrl _errorDomainURL;
SockAddr _sockAddr;
QUuid _assignmentUUID;
Expand Down
2 changes: 2 additions & 0 deletions libraries/networking/src/MetaverseAPI.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,11 @@ namespace MetaverseAPI {
const QString HIFI_METAVERSE_URL_ENV = "HIFI_METAVERSE_URL";

if (QProcessEnvironment::systemEnvironment().contains(HIFI_METAVERSE_URL_ENV)) {
qDebug() << "[metaverseAPI_DUMP - HIFI_METAVERSE_URL_ENV]" << QUrl(QProcessEnvironment::systemEnvironment().value(HIFI_METAVERSE_URL_ENV));;
return QUrl(QProcessEnvironment::systemEnvironment().value(HIFI_METAVERSE_URL_ENV));
}

qDebug() << "[metaverseAPI_DUMP - selectedMetaverseURL]" << selectedMetaverseURL.toString();
return selectedMetaverseURL;
};

Expand Down
31 changes: 31 additions & 0 deletions libraries/networking/src/ThreadedAssignment.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,37 @@ void ThreadedAssignment::commonInit(const QString& targetName, NodeType_t nodeTy

// stop sending stats if we disconnect
connect(&nodeList->getDomainHandler(), &DomainHandler::disconnectedFromDomain, &_statsTimer, &QTimer::stop);

// Parsing extra settings to assignment client to update the directory server
connect(&nodeList->getDomainHandler(), &DomainHandler::settingsReceived, this, &ThreadedAssignment::parseCommonServerSettings);
}

void ThreadedAssignment::parseCommonServerSettings(){

auto nodeList = DependencyManager::get<NodeList>();

const QJsonObject& domainSettings = nodeList->getDomainHandler().getSettingsObject();

Setting::Handle<QUrl> selectedMetaverseURLSetting("private/selectedMetaverseURL",
NetworkingConstants::METAVERSE_SERVER_URL_STABLE);

//const QString METAVERSE_SETTINGS_KEY = "metaverse";
const QString METAVERSE_SETTINGS_KEY = "private";
QJsonObject metaverseObject = domainSettings[METAVERSE_SETTINGS_KEY].toObject();

qDebug() << "[configuration_dump]" << domainSettings;
//QJsonObject metaverseObject = domainSettings.begin()->toObject();

qDebug() << "[METAVERSEOBJ_DUMP]" << metaverseObject;

const QString DIRECTORY_KEY = "selectedMetaverseURL";
QJsonValue directoryURLValue = metaverseObject.value(DIRECTORY_KEY);

qDebug() << "[ThreadedAssignment_dump]" << directoryURLValue.toString();

if(directoryURLValue.toString() != QString("")) {
selectedMetaverseURLSetting.set(directoryURLValue.toString());
}
}

void ThreadedAssignment::addPacketStatsAndSendStatsPacket(QJsonObject statsObject) {
Expand Down
1 change: 1 addition & 0 deletions libraries/networking/src/ThreadedAssignment.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ public slots:

protected:
void commonInit(const QString& targetName, NodeType_t nodeType);
void parseCommonServerSettings();
void setFinished(bool isFinished);

bool _isFinished;
Expand Down