GithubHelp home page GithubHelp logo

openworld's Introduction

Open World - Project Files

A Free Multiplayer Mod For Rimworld.

Attention! This is a work in progress mod! Things are prone to breaking! If you find something broken, please report it!

Thanks a bunch for downloading the mod! - Lollipop.

Quick Installation Guide

This quick guide asumes you have a general understanding of setting up any game multiplayer servers. If having any issues, please refer to our discord to get custom assistance.

1 - Download & Install .Net Core 3.1: https://dotnet.microsoft.com/en-us/download/dotnet/3.1

2 - Download latest server files: Here

3 - Execute server once to generate all necesary files.

4 - Configure these settings before attempting to connect into the server:

  • Config.json
  • Deep Config.json
  • Values.json

5 - If adding mods, refer to this app and drag the resulting contents into the mod folders depending on the mod permissions you want to use:

  • Move files into "Enforced Mods" for compulsory mods.
  • Move files into "Whitelisted Mods" for allowed extra mods.
  • Move files into "Blacklisted Mods" for forbidden mods.

6 - To create a server world, just log into it for the first time and follow the in-game instructions.

Things to take into account

  • The server supports Hamachi, Radmin, and probably every similar app that achieves the same results.
  • For extra help setting up the server, please refer to our Discord or our Wiki

openworld's People

Contributors

d12-dev avatar jamesonrgrieve avatar modog500000 avatar nullzeal avatar primateprime avatar sarahgreywolf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openworld's Issues

bug error using other version

Hi I am having a problem joining my own server. it keeps saying on the console that I am using other version but i am using the correct version. i have rimworld on steam and everything is up to date.

All players must have DLC if DLC is enabled

If DLC is enabled in settings, all players must have the DLC as it is marked as a required mod.
I thought perhaps making a copy of the DLCs in the whitelist folder (and disabling the DLC in settings) might help to allow some of us to use the DLC while allowing others without the DLC to play on the server.

Some Mods Won't Load

For reasons I have yet to determine, the server won't load certain mods. Here's a simple xml-only example of a mod that won't load: https://steamcommunity.com/sharedfiles/filedetails/?id=2556901321

Here's my modsconfig.xml:

<ModsConfigData>
    <version>1.3.3287 rev1159</version>
    <activeMods>
        <li>brrainz.harmony</li>
        <li>ludeon.rimworld</li>
        <li>ludeon.rimworld.royalty</li>
        <li>ludeon.rimworld.ideology</li>
        <li>unlimitedhugs.hugslib</li>
        <li>lollipop.openworld</li>
        <li>windwardsnow.miniturret</li>
    </activeMods>
    <knownExpansions>
        <li>ludeon.rimworld</li>
        <li>ludeon.rimworld.royalty</li>
        <li>ludeon.rimworld.ideology</li>
    </knownExpansions>
</ModsConfigData>

And I hard linked the "Whitelisted Mods" folder to the Rimworld client's mod folder, so I am certain the files in the server/client are identical. They have to be, as they are physically the same files. But for reference, this also happens in pretty much any other combination I can think of, hard link or none, regular mod folder or whitelisted mod folder:

[4/1/2022 2:46:39 PM] │ Server Startup:
[4/1/2022 2:46:39 PM] │ Using Culture Info: [en-US]
[4/1/2022 2:46:39 PM] │ Base Directory At: [C:\Games\rimopenworld\]
[4/1/2022 2:46:39 PM] │ Using Royalty
[4/1/2022 2:46:39 PM] │ Using Ideology
[4/1/2022 2:46:39 PM] │ Loaded Settings File
[4/1/2022 2:46:39 PM] │ No Mods Folder Found, Generating
[4/1/2022 2:46:39 PM] │ Loaded [403] Whitelisted Mods
[4/1/2022 2:46:39 PM] │ No Saved Players Found, Ignoring
[4/1/2022 2:46:39 PM] │ No Bans File Found, Ignoring
[4/1/2022 2:46:39 PM] │ No Whitelisted Players Found, Ignoring
[4/1/2022 2:46:39 PM] │ Loaded World File
[4/1/2022 2:46:39 PM] │ Server Started
[4/1/2022 2:46:39 PM] │ Type 'Help' To See Available Commands
[4/1/2022 2:46:39 PM] │ Network Line Started

[4/1/2022 2:47:11 PM] │ New Client [brucethemoose] [192.168.1.224] Has Connected For The First Time
[4/1/2022 2:47:23 PM] │ Player [brucethemoose] Has Disconnected
[4/1/2022 2:48:09 PM] │ Server doesn't allow player's mod or mod files mismatch! [Stuffed & Buffed Mini-Turret]
[4/1/2022 2:48:09 PM] │ Player [brucethemoose] Has Disconnected

Here's the mod in the Open World server folder, just as proof that it is there:
Capture

I attached a local copy of the mod:
2556901321.zip

Issues connecting to the host

I am attempting to setup a server, for a friend and I to test your mod on, but I am having difficulties actually getting the rimworld game to connect to the host. The 25555 port is open and i have gone into the settings text file and given it the devices local address. when i attempt to connect with rimworld i simply get the a text box saying the connection has timed out. any help would be nice. I am hesitant to upload screenshots because of the ips and such if you need any just ask.

[Suggestion] Rename server file

Hello,

Could you delete the space in your file's names ??
I would avoid this kind of command (and troubleshooting to figure out this)
All that we tried (after a day of work ^^) :

mv "OpenWorldServer" OpenWorldServer
mv "Open World Server" OpenWorldServer
mv Open\ World\  Server OpenWorldServer 
mv Open\ World\  Server OpenWorldServer

To figure out this :
mv Open\ World\ Server openworldserver

Thank you!

PS: Details matter 🥇

Private servers

It will be possible in future to make private password protected servers? Just want to make a feature request.

Special characters (i.e. ampersands) in XML data cause mismatch issues

Server Version: v1.3.9
Client Version: Pre RTSE

Special characters such as &amp;, &quot;, and &lt; cause mismatch issues between the client and the server, as the former correctly formats them while the latter does not appear to.

For example, the client will give the server:
Chemicals & Neutroamine
But the server will compare it against:
Chemicals &amp; Neutroamine
Thus creating a mismatch.

Open the Source Code

If you are only one dev and are not trying to make money off of this, you should really open up the code so the community can help contribute. I was hoping to be able to dabble with the code and make improvements where possible, but how you are doing this that simply cannot happen. I understand not wanting to have someone rip the code from you and claim it as your own, in that case just make sure you have the right license attached to the repository.

Linux server build

Hi,
A Linux server build would be awesome, and from what I understand it should not be that difficult to achieve.

You didn't have the actual source here so I could not test it out myself.

The server is not starting

Maybe I'm doing something wrong, but the server won't start. Dot Net 6.0.2 is installed. The game is without mods.
image
Good luck with the development. I will be happy to send a donation in the future.
(I use a translator.)

MacOS RimWorld looks for save in wrong location

Hi,

The MacOS version of the game/mod look at different save locations.

Game: /Users/username/Library/Application Support/RimWorld/Saves
Mod: /Users/username/Library/Application Support/ludeon.rimworld/Saves

It works flawlessly after symlinking the ludeon.rimworld to RimWorld like so:

cd /Users/username/Library/Application Support/;
rm -rf ludeon.rimworld;
ln -s RimWorld ludeon.rimworld;

I've posted this in the Discord channel too.

Continuing a save file

A friend and i were testing and we found what i think is an error.
Capture
Here we were attempting to figure how to reconnect and continue. We attempting using the load menu but that did not connect us to the server instead ran a local version of the save. When attempting to reconnect in the new colony menu the colony was predictively deleted and replaced. Is there a way to continue a save currently?

Cannot use Dynamic DNS URL as server address to connect

Using No-IP I have created a domain name that will be redirected to my IP to avoid disruptions when it changes as I do not have a static IP with my provider.

Unfortunately using the domain name is not possible at present. It times out every time.

Core & Ideology disallowed

Server Version: v1.3.9
Client Version: Pre RTSE

When joining my private server, among the list of disallowed mods, Core and Ideology are shown. I followed all steps to setup as they were described, with mods in the mods folder and client mods in whitelist.

Mod List:
Multiplayer.txt

Logs:
Log.txt

Client does not do anything after clicking join

So when my game client clicked join, the "multiplayer menu" panel simply disappeared.
On the server console it will show "Player [] Has Disconnected"
image
As shown in the picture.
I'm clueless about this problem, any ideas on how to solve it?

Broken Trade Quests

I received a trade quest for a player settlement and did not have the option to fulfill it upon arrival
image
image

Explain why it is closed source

Thanks for making this mod. People have raised that it is closed source and asked to open it (issues #31 and #18) and your response was that it was decided to close it from the start but you haven't given any reasons for it other than "we decided to do it":

It's a decision that was decided since the begining of the project and will stay put until it becomes too hard for one person to manage or I just change my opinion. There are various reasons for it to remain this way for now. Source

I'm sorry to say, but the source code is not available for download, since the project is a private work of mine Source

Can you please explain why you made this decision?

I would like to contribute to this mod with new features like others want to but it is impossible without opening it up. There is also a high risk that the mod gets abandoned like every other mod ever made.

Looking at your Discord you even ask for contribution which you shouldn't even need to if it were open source:

Please be aware we are looking for active developers who can dedicate some time to helping us further continue the mod. Source

ARMX64_Selfcontained version

Hello,

I have problem with running new version of the server, because I was running it on Raspberry Pi 4 - which is ARM64 based procesor so in version 1.3.9 it was running smoothly on ARM64_selcontained version but now I am not able to get this working.

Will there be this version ?

Thank you so much for answer.

Error while loading a map

An error occurred while loading a map. See error log for more information.

This file was saved with a different set of mods active than those we are currently running. This may or may not cause problems, depending on exactly these mods do.

File was saved with (in this order):
None
We are currently running with (in this order):
Harmony, Core, Hugslib, Open World

I am running on a ubuntu 20.04 LTS server. I have all the mods loaded on both the client and server but it is not working.
Rimworld version: 1.4
Other users are having the same issue.

Wrong item type/quality in trade

1.2.3 server, no mods except bare minimum (core, hugslib, openworld, harmony)
Ingame: Secrecy
Sadly log tool seems to have broken for me.

Sent Guinea pig parka Normal, Lightleather parka Masterwork, Pigskin Parka masterwork.

Friend received Cloth Parka normal x3

Linux/Docker support

Hey TastyLollipop,
thank you very much for this project it runs great on a windows 10 vm.
Do you think there will be an alternative for Linux/Docker?

I'm currently running the server as a vm but the power consumption is too high for my taste.
Secondly I have a generel question. Would it be possible to sync the mods to the client? I don't like it, that I have to select all the mods manually.

Appreciate your efforts, you are awesome!

[Suggestion] reload anytime setting

First of, this mod is really cool and its really slick to setup.

I want to play this with a very small group of friends, so enforcing commitment mode to prevent cheating isn't needed in that situation.
There already seems to be a toggle for allowing dev mode, it would be great if a similar setting could be made to allow for save-scumming.

LinuxX64 - NullReferenceException

Hi,
I'm trying to dockerize this server and on startup I get a NullReferenceException:

[3/22/2022 8:07:40 AM] │ Using Culture Info: [en-US]
[3/22/2022 8:07:40 AM] │ Base Directory At: [/app/]
[3/22/2022 8:07:40 AM] │ Generating Settings File...
[3/22/2022 8:07:40 AM] │ Loading Settings File...
[3/22/2022 8:07:40 AM] │ No Mods Folder Found, Generating...
[3/22/2022 8:07:40 AM] │ No Whitelisted Mods Folder Found, Generating...
[3/22/2022 8:07:40 AM] │ No Players Folder Found, Generating...
[3/22/2022 8:07:40 AM] │ No Bans File Found, Ignoring...
[3/22/2022 8:07:40 AM] │ Generating World File...
[3/22/2022 8:07:40 AM] │ Loading World File...
Unhandled exception. [3/22/2022 8:07:40 AM] │ Server Started
[3/22/2022 8:07:40 AM] │ Type 'Help' To See Available Commands
[3/22/2022 8:07:40 AM] │ Checking Thread Started

System.NullReferenceException: Object reference not set to an instance of an object.
   at Open_World_Server.MainProgram.ListenForCommands()
   at Open_World_Server.MainProgram.Main()

Dockerfile:

# syntax=docker/dockerfile:1
FROM mcr.microsoft.com/dotnet/runtime AS base
WORKDIR /app
RUN /bin/bash -c 'apt-get update'
RUN /bin/bash -c 'apt-get install -y curl wget unzip'
RUN /bin/bash -c 'curl -s https://api.github.com/repos/TastyLollipop/OpenWorld/releases/latest \
| grep "browser_download_url.*linuxX64.zip" \
| cut -d : -f 2,3 \
| tr -d \" \
| wget -qi -'
RUN /bin/bash -c 'unzip linuxX64.zip'

ENTRYPOINT ["dotnet", "Open World Server.dll"]

The linuxX64.zip does not contain a "Server Settings.txt" and no "World Settings.txt" - should I include/generate those?

Trade failure

https://gist.github.com/9f0873002775326d95281de85298c75f Recipients side
https://gist.github.com/HugsLibRecordKeeper/7a9269087a361ce2a74611e6a305515a Sender side
Expected behavior:
Chinchilla corpse gets placed on persons plot

Actual behavior:
Chinchilla does not exist anymore

Steps:
Doublecheck both are online
Start trade
Ask for 1 silver, send one dead rotten chinchilla
Info appears on recipients monitor that it will appear in center of map.
Nothing happens.

Line on recipients side: 292
Corpse_Chinchilla62394 spawned in bugged state.
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)

Please note that it looks like some kind of disconnect also happened right after this trade, but unable to really report that as a bug as i dont know what happened and not been reproduced and did not see clearly when it happened.(sender side)

Version server: 1.2
Client Auto from workshop/Capitalism

How do I get a singleplayer save in the server?

I was playing with a friend on a server that he is hosting, but often he doesn't play the time I can, so I decided to play alone today, but I found that I can't put the save in his server and I don't know what to do, cause I made too much progress and I dind't wanted to lose this
Is there a way to take the progress I made offline and put on the server??

Segmentation fault

Receiving the following error when attempting to start:

/home/cap/Rimworld/OpenWorldServer/Open\ World\ Server Failed to load /snap/dotnet-sdk/158/shared/Microsoft.NETCore.App/6.0.3/libcoreclr.so, error: /snap/core18/current/lib/x86_64-linux-gnu/librt.so.1: undefined symbol: __clock_nanosleep, version GLIBC_PRIVATE Segmentation fault (core dumped)
This is on a fresh and updated Ubuntu 20.04 install on a bhyve VM hosted on TrueNas.

Source code?

Is the source code for this project available? Just download this random DLL file and hope for the best, doesn't exactly bode well for security.

Reload command broke

Version : ARMX64_SelfContained.zip
System: Pi
Error :

Unhandled exception. System.IO.IOException: The process cannot access the file '/home/mapi/OpenWorldServer1.3.8/Whitelisted Players.txt' because it is being used by another process.
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Init(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
   at System.IO.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
   at System.IO.File.InternalReadAllLines(String path, Encoding encoding)
   at System.IO.File.ReadAllLines(String path)
   at Open_World_Server.ServerUtils.CheckForWhitelistedPlayers()
   at Open_World_Server.MainProgram.ListenForCommands()
   at Open_World_Server.MainProgram.ListenForCommands()
   at Open_World_Server.MainProgram.Main()
Aborted

And ofc i wasn't editing any file. I just edited the server settings.txt but it was closed

LAN server Question

Is there any way you can make a LAN server, because my shitty ISP has a crap rule that blocks Port Fowarding.
EDIT: like with Radmin or Hamachi

Daemonize Linux server so that it can be autostarted by systemd

Right now, the Linux server binary run as a discrete TTY line, much like top or vim. This makes it fundamentally incompatible with running in a true daemonized headless mode (where all interaction is handled by external commands hooking into the server), and therefore incompatible with easy autostart via systemd Units on Linux platforms that utilize it.

This is generally a little annoying since if you get a connection abort from your SSH client, restarting the box is the only easy way to get the active TTY back. If the server ran as a daemon with external command hooks or arguments, I could set it up to silently autostart when my VPS does and manage it like I would Apache or nginx.

You have been disconnected from server

Sorry, didn't read patchnotes clear enough.
"Max Players: 300" needs to be above your IP in server settings
"Please DO NOT just copy your previous server version's settings! just config the new one again, this function might not work otherwise!"

Open World Server v1.2.3 Latest
https://gist.github.com/091faeea1b1d5980a3e7b198ce029b32
log

Just updated, can't connect anymore.
Reproduction steps:
Have 1.2 installed and running.
Connect OK.
exit 1.2
Move over .exe, .dll, and .json to same folder
start 1.2.3
Try connecting [load save menu, then connect button]

Server side error:
Player [Player1] Has disconnected
Player [Player2] Has disconnected

No further errors,
Happens immediately when pressing connect.

Can not view ingame version as i do not get connected.
Using workshop, tried verifying cache and reloading

Server Files for ARM processors

Hi! Can you compile server files for ARM processors to make it possible to run server on raspberry pi or something similar?

Colony count

I cannot create more colonies (as one player). It is now a constant "1" for every player? If yes I want to make a feature request for ability to make more.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.